Почему мой session_id () не передается на следующую страницу? - PullRequest
0 голосов
/ 17 декабря 2018

Возможно, есть лучшие способы сделать это, но я уверен, что мне все равно следует передать свой session_id () на вторую страницу.Вместо этого, вызов этого на странице 2, поскольку мои первые несколько строк генерируют совершенно новый session_id (), чем тот, который был создан на странице 1.

НАЧАЛО СТРАНИЦЫ 2:

<code><?php
error_reporting(E_ALL);ini_set('display_errors',1);
session_start();
echo session_id();
$sessionid = session_id();
echo "sessionNUM &nbsp&nbsp&nbsp&nbsp &nbsp&nbsp&nbsp   = $sessionid\n";
echo "<br>";

echo '<pre>' .print_r($_SESSION, TRUE) . '
';

СТРАНИЦА 1 ВСЕ:

<code><?php
error_reporting(E_ALL);ini_set('display_errors',1);
session_start();
$sessionid = session_id();
$currentDate = date('Y-m-d');

//echo "sessionNUM &nbsp&nbsp&nbsp&nbsp &nbsp&nbsp&nbsp   = $sessionid\n";
//echo "<br>";
//echo "<br>";
//echo '<pre>' .print_r($_SESSION, TRUE) . '
';session_unset ();$ old_sessid = session_id ();session_regenerate_id ();$ new_sessid = session_id ();session_id ($ old_sessid);session_destroy ();session_regenerate_id (FALSE);session_start ();echo session_id ();echo "
";$ sessionid = session_id ();$ currentDate = date ('Ym-d');echo "sessionNUM = $ sessionid \ n";echo "
";echo "
";echo '
' .print_r($_SESSION, TRUE) . '
';// Подключение к БД require_once 'configPOS.php';$ conn = new mysqli ($ hn, $ un, $ pw, $ db);if ($ conn-> connect_error) die ($ conn-> connect_error);// Введите идентификатор сеанса и установите идентификатор заказа // ищите информацию о сеансе, уже находящуюся вне $ result = $ conn-> query ("SELECT * FROM POS_HEADERS WHERE sessionid = '$ sessionid' AND date = '$ currentDate'");echo mysql_error ();if (mysqli_num_rows ($ result)> 0) {echo "информация о сеансе уже существует";} else {echo "test.";/ * $ sessionid = session_id ();* / $ sql = "INSERT INTO POS_HEADERS (sessionid, date) VALUES ('$ sessionid', '$ currentDate')";if ($ conn-> query ($ sql) === TRUE) {echo "Новый заказ запущен.
";} else {echo "Ошибка".$ кв."
".$ Conn-> ошибка;}} $ res = $ conn-> query ("выберите ORDID из POS_HEADERS, где sessionid = '$ sessionid'");list ($ ORDERNUM) = $ res-> fetch_row ();// echo "
";echo "
";echo "ORDERNUM = $ ORDERNUM \ n";$ _SESSION ["OrderNum"] = $ ORDERNUM;echo "
";// echo "
";echo "Переменные сессии установлены.";$ res = $ conn-> query ("выберите ORDID из POS_HEADERS, где sessionid = '$ sessionid'");list ($ ORDERNUM) = $ res-> fetch_row ();echo "ORDERNUM = $ ORDERNUM \ n";// echo "
";echo $ _SESSION ["OrderNum"];$ ordernum = $ ORDERNUM;echo $ ordernum;echo '
';$ LOCATION = $ _POST ["picklocation"];echo $ LOCATION;echo "
";echo "
";echo "END Debugging Info";echo "
";echo "
";echo '
' .print_r($_SESSION, TRUE) . '
';echo "
";echo session_id ();echo "
";?>

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Две страницы имеют разные session_start() звонки?Если вы хотите использовать один session_id для всех своих страниц, вы должны использовать только один для вызова session_start() для обоих этих файлов.

Например, создайте третью страницу, назовите ее bootstrap.php и включите в начало PAGE1 и PAGE2.В этом файле вы можете начать сеанс.

Надеюсь, я правильно понимаю вашу проблему.

0 голосов
/ 17 декабря 2018

Во-первых, ваш браузер отклоняет cookie?В этом случае вы всегда можете получить новый идентификатор сеанса.Различные браузеры имеют разные опции / панель для принятия куки.

Во-вторых, отредактируйте следующие поля в php.ini до подходящих значений.

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