H.M.
Sounds like it's time for some tough love. You just have to do it. If there's nothing else major going on right now, it's a good time. Maintain or develop a bedtime routine, start by holding him while you sing him a special song or two but then lay him down - the important thing to do is not pick him back up - sit with him maybe rub his back until he falls asleep for the first few nights, then stop and back away before he falls asleep, each night or two moving closer and closer to the door. You may want to start a little earlier than you normally would because it will take him longer to fall asleep. The end goal is for him to fall asleep without you in the room. You can also try the cold turkey approach but that might be hard on him since you've helped him so far. Do the same thing (minus the going to bed routine) when he gets up in the middle of the night. Be strong! I always recommend having a calming CD or white noise machine. My kids love Jim Brickman (quiet piano music with little to no lyrics). Be strong - this will take time - just remember that every time you relapse and rock him to sleep you're undoing all the work you have done up to that point and it will be even harder to get back to it. I strongly recommend doing this soon - the longer you wait and the older he is the harder this will be and you don't want a 5 year old climbing in bed or needing to be rocked to sleep! Good luck - I hope it goes smoothly! I also agree with Kathy B's suggestion - it sometimes depends on the temperament of your child too -how stubborn is he, is he a sleepy kid or wired and looking for excitement - these types of things will help you determine the approach that will work best