В этом ответе предполагается, что вы выполняете POST и перенаправляете назад без какого-либо вмешательства пользователя. Если на странице обработки формы требуется действие пользователя, большая часть этого не будет применяться ...
Почти все формы, которые я пишу, пишут на один и тот же URL (используйте action = ""). Это делает жизнь намного проще. Я настоятельно рекомендую использовать HTP_REFERER, так как это необязательное поле, полностью зависящее от браузера. Большинство не отправляют рефереров или отправляют их только при определенных обстоятельствах.
Я также призываю вас пересмотреть вопрос о том, действительно ли необходимо перенаправлять данные из процессора форм. Я подозреваю, что вы делаете это, чтобы предотвратить случайное повторное размещение пользователем того же сообщения, но все современные браузеры выдают нормальное сообщение, если пользователь пытается обновить запрос POST, поэтому в этом нет необходимости. Если вы не перенаправляете из обработчика форм, вы можете отобразить сообщение об успешном завершении на странице обработки, что устраняет необходимость использования COOKIE или SESSION.