Я работаю над многостраничной формой.Вот схема его функции:
Часть первая: Собрать поля ввода формы -> Отправляет пользователя на файл Transfer.php, используя метод POST
Часть вторая: перевод.php |Проверяет, что ничего не пусто -> Сохраняет переменные $ _POST в $ _SESSION -> Перенаправляет пользователя на следующую часть формы.
Часть третья: Вторая часть формы |Поддерживает сессию из первой формы -> Добавляет новые переменные в сессию -> Готовит все, чтобы получить по электронной почте
Я читал, как использование заголовка (location:) и т. Д. Сбрасывает информацию о сеансе.Люди, кажется, находят решение, чтобы проверить форму на странице, а затем направить пользователя с помощью поля действия формы.
Проблема, с которой я столкнулся: ГдеФорма перенаправления основана на вводе из формы.На самом деле существует 8 потенциальных форм, в которые пользователь может быть перенаправлен в зависимости от того, что он вводит во время первой формы.
Я пробовал методы SID, и переменные SESSION отображаются как зарегистрированные, но все ониdisplay & NULL.
Вопрос: Как получить переменные сеанса для отображения на следующей странице?
Вот код, который у меня есть до сих пор:
Часть 1: форма
<form method="POST" action="transfer.php">
... all my form elements with proper names
</form>
Часть 2: Transfer.php
<?php
session_start();
$_SESSION = $_POST;
// project_type would store an url for the corresponding 2nd part of the form
$redirect = $_SESSION['project_type'];
$redirect .= "?phpSESSID=".session_id();
header("Location: $redirect");
exit();
?>
Часть 3: следующая форма
<?php
// initialize a session
session_start();
echo "<p>Session ID: " . session_id() . "</p>";
echo "<p>Vardump Set Off Page: ";
var_dump($_SESSION);
echo "</p>";
?>
<form method="...... the rest of the form etc
Я знаю, что пост заставляет его правильно перенести .php.Я знаю, что содержимое $ _POST копируется в $ _SESSION правильно.Я знаю, что где-то во время перенаправления переменные сеанса устанавливаются в & NULL
Вот как выглядит var_dump после перенаправления пользователя во 2-ю часть формы.
array(18) { ["project_type"]=> &NULL ["project_timeframe"]=> &NULL ["company_name"]=> &NULL ["company_address"]=> &NULL ["company_city"]=> &NULL ["company_state"]=> &NULL ["company_zipcode"]=> &NULL ["company_phone"]=> &NULL ["company_website"]=> &NULL ["contact_name"]=> &NULL ["contact_title"]=> &NULL ["contact_email"]=> &NULL ["contact_phone"]=> &NULL ["contact_primary_phone_type"]=> &NULL ["contact_phone_alt"]=> &NULL ["contact_alternate_phone_type"]=> &NULL ["contact_preferences"]=> &NULL ["contact_preferences_additional"]=> &NULL }