У меня есть многостраничный сайт формы, который я создаю.PHP Данные сеанса многостраничной формы теряются после двух навигаций
Я использую
$_SESSION['X']=$_POST['X']
для хранения переменных из формы в сессии на странице результатов, размещаются в.
Форма динамически генерируется так, чтобы поля были заполнены переменные сессии
$X=$_SESSION['X']
и
(value="$X")
Таким образом, когда пользователь нажимает назад (кнопка с URL страницы, а не история -1) страница преобразуется со значениями, которые они ранее вводили.
Мои проблемы в том, что это работает отлично для одной страницы (то есть они могут вернуться на одну страницу и увидеть значения), но 2 страницы все значения пустые.
Как только значения хранятся на СЕССИИ, они не должны оставаться на время сеанса браузера? Они не перезаписываются. Я не понимаю, что произошло? Любая помощь оценивается. Пример
Код:
Page 1:
session_start();
//populates fields if session value set for this variable
$sv_01=$_SESSION['sv_01'];
<<<EOT
<form action="page 2 URL" method="post">
<label> q1 <input value=$sv_01 title="title" type="text" name="sv_01">
<input type="submit" value="Continue" />
</form>
EOT;
Page 2:
session_start();
//stores POST data from page 1 in the session
$_SESSION['sv_01']=$_POST['sv_01']
//populates fields if session value set for this variable
$sv_02=$_SESSION['sv_02'];
<<<EOT
<form action="page 3 URL" method="post">
<label> q2 <input value=$sv_02 title="title" type="text" name="sv_02">
<input onclick="page 1 URL';" type="button" value="Back" /> <input type="submit" value="Continue" />
</form>
EOT;
Page 3:
session_start();
//stores POST data from page 2 in the session
$_SESSION['sv_02']=$_POST['sv_02']
//populates fields if session value set for this variable
$sv_03=$_SESSION['sv_03'];
<<<EOT
<form action="page 4 URL" method="post">
<label> q3 <input value=$sv_03 title="title" type="text" name="sv_03">
<input onclick="page 2 URL';" type="button" value="Back" /> <input type="submit" value="Continue" />
</form>
EOT;
Переход от страницы 3 к 2 будет в порядке - и стр. 2 - 1, но переход от страница 3 - 1 приведет к тому, что страница 1 будет пустой.
Любые идеи? Большое спасибо
Все вары пусты, когда вы возвращаетесь на первую страницу? –
Я не вижу причин в примере, который вы показали нам выше, почему это произойдет, но вы должны проверить, установлен ли сеанс перед его использованием, также, как пустым? все пустые? вы можете сделать print_r из $ _SESSION, уверены ли вы, что вы переходите со страницы 3 на 1? Поскольку вы можете настроить сеанс 1 на ничего, из-за session1 = post1 на вашей 2-й странице, которую вы не проверяете, если есть сообщение, и т. Д. –
@MarcioSimao да все пустоты, когда я возвращаюсь на первую страницу – Gideon