If the gear stick can’t physically be shifted into drive then it probably means that linkage to the transmission is binding up. The only way to really check for the cause of the linkage binding up is to take it apart and check for damage on the gears. Although the problem can be fixed yourself, if you do not feel comfortable and confident doing it, it is important to go to a mechanic as the damage that can be caused by an untrained hand can lead to an even more expensive repair bill.
Sometimes the reason a car only goes in reverse could be that the clutch has burned out. If this is the case, again head to a mechanic.