Я пытаюсь загрузить переменную $_SESSION
с другой переменной на моей странице.
Структура страницы здесь следующая: Страница 1 -> Страница 2 -> Страница 3; это многочастная форма. На странице 2 есть кнопка «Назад», которая позволяет вернуться на страницу 1. Я пытаюсь использовать переменные сеанса, чтобы поля ввода на странице 1 не оставались пустыми.
Я использую отправку формы для перехода со страницы 1 на страницу 2. Вот применимый PHP-код на странице 2, который обрабатывает получение переменных POST:
<?php
$retailerName = $_POST["retailerName"];
$description = $_POST["description"];
$savingsDetails = $_POST["savingsDetails"];
$terms = $_POST["terms"];
$phone = $_POST["phone"];
$address = $_POST["address"];
$zone = $_POST["zone"];
$dateExp = $_POST["dateExp"];
$tag = $_POST["tag"];
$_SESSION["rn"] = $retailerName;
$_SESSION["de"] = $description;
$_SESSION["sd"] = $savingsDetails;
$_SESSION["tm"] = $terms;
$_SESSION["ph"] = $phone;
$_SESSION["ad"] = $address;
$_SESSION["zo"] = $zone;
$_SESSION["ex"] = $dateExp;
$_SESSION["tg"] = $tag;
?>
Я знаю, что переменные устанавливаются правильно.
Я могу сделать это:
echo $retailerName;
echo $_SESSION["rn"];
На странице 2 и он покажет, что я хочу. Единственная проблема заключается в том, что переменные сеанса не переносятся на страницу 1.
Если я установлю переменные сеанса в строку, она вернется на страницу 1. По какой-то причине, даже если опубликованные переменные действительны и содержат правильную строку, переменная сеанса не перенесет их.
Если я сделаю это:
$_SESSION["rn"] = $retailerName;
Тогда значение переменной сеанса не будет перенесено на страницу 1.
Если я сделаю это:
$_SESSION["rn"] = "asdf";
Затем значение переменной сеанса будет перенесено на страницу 1.
Обычно это просто означает, что мои опубликованные переменные плохие, но в этом случае я знаю, что они работают, так как остальная часть страницы посвящена выводу опубликованных переменных, и он делает это правильно.
SESSID остается прежним, так что проблема не в этом. Я также могу переносить другие переменные сеанса в другие части веб-сайта, и они отлично работают.
Почему переменные $_SESSION
не переносят правильную и действительную опубликованную переменную на страницу 1, но переносят строку?