When you click back, the browser usually doesn't ask the server for the web page again since its already cached. This means the browser does not trigger a page or script to be run. To make sessions work, you'd have to run a PHP script. But the browser doesn't trigger the PHP script to be run when you click back.
You can experiment with caching and you may be able to get it to trigger the page which then would allow you to use sessions. But I find browsers tend to be a little quircky when you click back.
Personally, I don't do anything for the user if they want to click back. Here's why:
Clicking back should (in my opinion) default to what the browser normally does. The user has grown familiar with this. If they click back and form is empty, it probably happens on other sites to. The user then doesn't mind this happening.
You should provide an out for your user instead of clicking back. If they are filling out a form and you validate it and there's an error, then reload the form with the form data AND the error message. Then the user can see they need to fill out the form again and the data will all be there (you can pull it out from the $POST or $GET variables).
You shouldn't be implementing a web design that requires users to use back as a navigation function. You should take it into account that it will happen, but you shouldn't have stuff that says, "click the back button to go to the previous page."