You might need a new thermostat. Also your heater core might needs to be fixed. Sometimes it gets corroded or clogged from years of coolant buildup. Have you checked the controls? When you change from cold to heat, does it feel very loose when you move it? It signifies problem. OR it could be waterpump problem. Does the heater pipe is leaking? If yes, then change the pipe.
This detail article about fixing heater might help you >>>
www.automedia.com
This detail article about fixing heater might help you >>>
www.automedia.com