Я не могу понять это и попробовал это несколькими способами.
У меня есть многостраничная форма, где form_1.php после отправки отправляет информацию в БД и перенаправляет на form_2.php.
Я начинаю сеанс на form_1.php с:
<?PHP
if ($_POST)
{
session_start();
foreach ($_POST as $field => $value)
{
$_SESSION['formdata'][$field] = $value;
}
}
.....code that sends info to db and then redirects page to form_2.php
?>
Когда я добираюсь до form_2.php, у меня есть:
<?php
session_start();
if (!empty($_POST)) {
// Used for later to determine result
$success = $error = false;
// Object syntax looks better and is easier to use than arrays to me
$post = new stdClass;
// Usually there would be much more validation and filtering, but this
// will work for now.
foreach ($_POST as $key => $val)
$post->$key = trim(strip_tags($_POST[$key]));
....more code that loads dompdf and sends a pdf to email
?>
Если я использую что-то вроде:
<?php echo $post->Name; ?>
<?php echo $post->Address; ?>
<?php echo $post->City; ?>
<?php echo $post->State; ?>
Где я хочу отображать данные, я ничего не получаю.
Есть ли способ написать это, что эквивалентно:
<?php echo $_SESSION['Name'] ?>
Это потому, что я использую объекты?
Если я вытираю все из form_2.php и просто печатаю сессию, используя:
<?php
session_start();
Print_r ($_SESSION);
?>
Я вижу нужные данные:
Array ( [sfm_from_iframe] => 0 [formdata] => Array ( [sfm_form_submitted] => yes [Employer_Zip] => 33333 [Injury_type] => Array ( [0] => Head [1] => Left Shoulder [2] => Chest ) [FirstName] => test [LastName] => tester [Address] => 1212 myaddy [City] => city1 [State] => Maine [Zip] => 55555 [Country] => AntiguaAndBarbuda [Phone] => 555-555-5555 [Email] => me@mydomain.com [Employer_Name] => my employer [Employer_Address] => 1212 empaddy [Employer_City] => city2 [Employer_State] => Georgia [DBA_Carrier] => mycarrier [Employer_Phone] => 333-333-3333 [Accident_Date] => 10-03-2011 [Message] => asefsafsadf sadf asdfsdafsadf [yes_no] => yes [SocialSecurity] => 333-33-3333 [Submit_x] => 57 [Submit_y] => 13 ) )
Дополнительные примечания, которые могут быть полезны ...
Когда я просто использую POST для form_2.php и использую
<?php echo $post->Name; ?>
<?php echo $post->Address; ?>
<?php echo $post->City; ?>
все показывается и работает нормально, но только используя POST непосредственно к этой странице. Я не использую редирект, потому что думаю, что что-то напортачил с записью, как отобразить объект SESSION.
Есть мысли?