How can I stop being too high or low when on base and final?
I think one thing that does not get emphasized enough:
Pilots do not land airplanes!In fact, we try to keep the airplane flying as long as possible!  We systematically rob the airplane of energy (energy from engine power, energy from airspeed, energy from altitude) until the plane can no longer fly, and settles gently on the runway.

But even as the plane is landing, the pilot is still trying to coax it back into the air to remove as much energy as possible.  A big student mistake is to point the airplane at the runway, and try to force it to land there.  That leads to landings too fast, too high, big bounces, porpoising, and sometimes nose-in crashes.

So don't think about "how am I going to land this thing?"  Instead think about "How am I going to remove more energy from the equation to lose altitude and airspeed?"

A landing is a series of precise targets you are aiming to hit, each with less energy than the last one (but each one still with enough energy to keep flying and be safe)

Each target consists of Position (horizontal and altitude), airspeed, and descent rate.  You hit each of these targets at 3 different points on a square (abeam the numbers, downwind-to-base, and base-to-final) Hitting a target that consists of a position + airspeed + descent rate is not easy! But the more precisely you can hit each target, the easier the next part is.



Although I hope I'm repeating the same instructions you've already heard, for the sake of the Site, let me re-iterate the standard instructions for a C-172.


Be level at TPA (airport + 1000 feet), and at a cruise speed of approximately 100 kts.  The runway should be approx 3/4 of the way up your strut.
When you are abeam the numbers, Carb Heat (if applicable), throttle back to approx 1,600 RPM, and pull-back as necessary to maintain altitude (the consequence will be that you slow down).
Watch your speed, altitude and position.  Drop flaps 10&deg; when speed allows, and aim to hit a speed of 85 kts, an altitude loss of 250 feet, and have the numbers at 45&deg; behind you, all at the same time.
Turn the corner to base, using approximately 30&deg; of bank angle.  Continue to reduce speed (by pulling back) to hit 75 kts, and drop altitude another 250 ft. (you're now 500 ft above the runway).  Add Flaps 20 when appropriate.
Turn the corner to final.  You can "oval" your turn if you are undershooting the centerline, but do NOT over-bank if you have overshot the centerline.
Aim for the centerline, acquire a PAPI/VASI, keep an eye on your airspeed relative to approach speed (68 kts).
Watch 3 and ONLY 3 things:


Airspeed (Slowing towards 68 kts)
Centerline (left? right? on target?)
Slope (PAPI/VASI? Light configuration).

Keep repeating "Airspeed, Centerline, Slope" out loud, describe if you're too far/too close on each one, and describe how you're going to correct.  For example: 


"Airspeed: 75 kts; too fast; pulling back to slow down"
"Centerline: Left of center; coming slightly right"
"Slope: 3 red+1 white is too low; adding power to slow descent"
(repeat!)

When the runway is made, drop final flaps, engine to idle, and prepare to flare when you're about 10-15 feet, and hopefully right at the numbers.


Remember that your altitudes are 1000, 750, 500, touchdown.
And your airspeeds are 85, 75, 65.