foreach $ _POST переносит данные формы на третью страницу - PullRequest
1 голос
/ 25 ноября 2011

У меня есть страница с 50 вопросами, затем, когда пользователь заканчивает работу и отправляет форму, я беру пользователя на страницу подтверждения, где пользователь может выбрать вернуться на страницу вопросов или завершить работу. Если пользователь завершает работу, он переходит на другую страницу, где определяется скорость прохождения. Моя проблема в том, что #_POST foreach не переносится на последнюю страницу. Есть ли способ, которым я могу прикрепить это к сеансу, или я должен записать это в таблицу, а затем получить его оттуда снова?

Страница вопроса

echo "<input type='checkbox' name='question[$q_nr][]' value='A'>$option1<BR>";
echo "<input type='checkbox' name='question[$q_nr][]' value='B'>$option2<BR>";

Страница подтверждения

foreach($_POST['question'] as $key => $ans)
{ ..... }

Последняя страница, на которой вычисляются проценты и проблема в которой она не извлекается с предыдущей страницы

foreach($_POST['question'] as $key => $ans)
{ ..... }

Ответы [ 4 ]

2 голосов
/ 25 ноября 2011

Вы просто устали $_SESSION[] = $_POST?

РЕДАКТИРОВАТЬ:

$_SESSION[] = $_POST;

или

foreach ($_POST as $k => $v) {
    $_SESSION[$k] = $v;
}

Третья страница:

foreach ($_SESSION as $k => $v) {
    ...
}
1 голос
/ 25 ноября 2011

Да, есть способ присоединить $_POST к сеансу, так как это переменная.

И да, вы можете написать таблицу и получить оттуда снова.

Что лучше?Это зависит от того, что вы ожидаете от своих пользователей и обеспечивают правильное поведение приложения.

Например, если они являются злыми и никогда не завершают работу, и вы записываете много бесполезных данных в таблицу, если вы не предоставляете механизмы очистки.

0 голосов
/ 25 ноября 2011

Если я могу предложить,

вместо публикации со страницы вопросов на страницу подтверждения, когда пользователь завершает вопросы, просто скрыть HTML-элемент вопросов и открыть новый и заполнить его данными подтверждения.

Тогда у вас есть две кнопки, вернитесь к вопросам и разместите форму. Если пользователь нажимает кнопку «вернуться», просто переключает элементы html вопросов / подтверждений, если пользователь нажимает кнопку «опубликовать», он фактически отправляет данные формы.

0 голосов
/ 25 ноября 2011

Это либо вы используете сеансы для хранения данных поста, либо вы получаете результат каждый раз, когда вы попадаете на страницу подтверждения. Затем вы можете перенести результат на последнюю страницу с помощью закодированного параметра GET

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...