You transmission may be in "limp" mode. This happens when the computer detects something wrong and restricts gear changes to avoid further damage. The computer allows first and reverse so you can drive the car to get repairs. Just don't drive it very fast and only for short distances. In my Chrysler this happened when one of the shift selenoids went bad. We had to replace the selenoid pack ($250) and the car ran fine.
I think if you use a code reader you can find out what the trouble is. Some stores like Pep Boys will do this for you for free I've been told.