Actually, what you're looking for isn't as hard as you might imagine. I've actually knocked out a couple of systems similar to what you're talking about in a few afternoons, as long as you have the right tools, it's pretty painless. The only caveat here is that you have to be pretty comfortable with PHP in order to do it, and since you didn't really mention your skill level there, I'm not sure this will help you much...
In any case, your problem can be divided in to three areas:
- User Administration
- The Page Editor
- The Display
In turn then:
User Administration:This is fairly simple...depending on how large you expect your user base to be, and how secure you need the editing area, you have two options... Authentication via .htaccess, or the more secure and scalable option of using a database to store user information, and your own server-side code to protect that information. If you're only anticipating one or two users, the .htaccess option is quick and easy, and a lot of web hosting solutions actually make password protecting directories via this method extremely easy. The latter option requires a bit more work and research to do right.
The Page EditorHappily, this aspect of the task is probably the easiest. There are plenty of 'ready-made' solutions for providing users with an interface to edit HTML code without having to actually know HTML themselves, (so called WYSIWYG editors). The one I recommend your attention to is the
FCK Editor. It's super easy to install and almost as easy to configure the way you want.
The DisplayCompared against the other two areas, this is pretty simple. The FCK editor and similar tools make it easy to store whatever information the user inputs to a database, but this is of course assuming that you're comfortable manipulating databases with PHP code. Once you've stored the data, all that's left is to 'spit it out' in the appropriate place on your output page.
I know that none of this information provides terribly concrete answers, but I hope I've at least given you a starting point or two...
Steve