Вместо того, чтобы захватывать кнопку «назад» в браузере или полагаться на Javascript (никогда не бывает хорошей идеей), я бы предложил использовать ваш сеанс для сохранения результатов. Что я обычно делаю для результатов поиска, это сохраняю отформатированные результаты в сеансе для быстрой перезагрузки (для ситуаций, подобных описанной вами, возвращаясь после просмотра страницы сведений), и заменяю их в любое время, когда они выполняют новый поиск, чтобы у вас огромное количество данных сеанса накапливается.
Когда вы загружаете страницу, проверьте наличие любых данных POST (или GET, как бы вы это ни делали), а затем проверьте сеанс, чтобы узнать, был ли недавно выполнен поиск с использованием этих данных. Это ускорит процесс и уберет часть трафика из вашей базы данных.