Try resetting the iPhone by pressing and holding the sleep/wake button and the home button for 20 seconds (maybe longer) until the Apple logo appears, ignore the red slider. Then turn back on. You won't lose any data doing the reset.
This really helped me! The phone just seemed to die for no apparent reason and now that your suggestion has given it another life I am putting my donation of it to the Smithsonian on hold for the foreseeable future.