Use PHP and MySQL. Store each page as a record in the database, then using a simple HTML form request a page name or id from the user. When submitted, output the record contents into another HTML form, with an update button at the bottom.
I just started working for a company where the website was incomplete, my boss doesn't know any type of web programming language, but did request he wanted to be able to log into the site and edit the text and image content.
I have written a basic control panel which allows him to create new pages (adds a record to the database), edit pages, delete pages, and browse, upload and delete images. All of this is accomplished through the site itself.
I don't know if it's purely a construct issue of how to get the logical flow that would enable you to produce the editing feature. Or whether it is actually the code you require. If it is the logical construct, the answer is PHP & MySQL. If it is the latter, i can send you the files i have - but it is too much code to paste in this forum.