Сложности PHP сессии - PullRequest
       1

Сложности PHP сессии

0 голосов
/ 03 февраля 2011

Я пытаюсь запустить сеанс PHP для сохранения данных из формы, когда пользователь входит в систему, а затем отображать их на странице после того, как они вошли в систему. Пока что все попытки провалились, и я не вижу, что я делаю неправильно. Так что это моя процедура, если вы можете сказать мне, где я ошибся.

Шаг 1

Первая страница имеет форму, которая получила данные от ранее. Некоторые из этих данных должны быть включены в сеанс, поэтому в самом верху страницы, прежде чем что-либо еще.

<?php

session_start();

 $_SESSION['booking-form'] = array('GT_title' => $SEStitle, 'GT_actual_duration' => $SESactualduration, 'cal_startdate' => $SEScalstartdate, 'GT_picture' => $SESpicture, 'GT_total_duration' => $SEStotalduration, 'GT_total_dives' => $SEStotaldives, 'GT_total_price' => $SEStotalprice, 'GT_total_duration' => $SEStotalduration, 'GT_specifications' => $SESspecifications);
?>

Шаг 2

Пользователь входит в систему

Шаг 3

В случае успеха пользователь перенаправляется на другую страницу, которая на данный момент называется bookinginitial.php.

Шаг 4

Код при бронировании .php следующий. Я настроил это с 3 возможностями того, как это могло собрать

    <?php

session_start();

 $_SESSION['booking-form'];
  echo $_POST['SEStitle'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>

<body>

<?php $_SESSION['booking-form'];

echo $_POST['SEStitle'];
?> 

<?php
        echo $_POST['SEStitle']; ?>
</body>
</html>

Теперь, очевидно, это не правильно. Будь то с массивом сессии, я не знаю, так как я только начал с PHP и стараюсь изо всех сил.

Буду признателен за любую помощь.

Marvelous

Ответы [ 2 ]

2 голосов
/ 03 февраля 2011

Вам просто нужно получить доступ к массиву сеансов.

echo $_SESSION['booking-form']['SEStitle'];

Массив $_POST устанавливается только при отправке полей из формы.

0 голосов
/ 03 февраля 2011

Я не уверен, что это вас беспокоит, поэтому я упомяну об этом на подозрении, что вы имели в виду под «Я настроил это с 3 вариантами ...».

Этострока сама по себе ничего не делает:

 $_SESSION['booking-form'];

И я предполагаю, что вы на самом деле хотели обернуть ее как условную.Синтаксис для которого будет:

<?php
session_start();
print_r($_SESSION);   ########### for debugging purposes  ###########

if ($_SESSION['booking-form']) {

    echo $_POST['SEStitle'];

    ?>
    <!DOCTYPE html>
    <html>...
    <?php
}
elseif ($_SESSION['booking-form']) {
    ...

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

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