Настройка сеанса вар - PullRequest
2 голосов
/ 11 февраля 2011

Вот мой PHP-код:

<?php
session_start();

if ( !isset($_SESSION['index_visited']) )
{

$_SESSION['page2_visited'] = 1;
$_SESSION['wrong_number'] = 1;

header('Location: index.php');

}
?>

Я думаю, что $ _SESSION ['page2_visited'] = 1 и $ _SESSION ['неправильный_номер'] = 1 никогда не будут установлены.Программа перенаправляет меня на index.php и все.

Что мне нужно сделать, чтобы установить его?

Ответы [ 4 ]

1 голос
/ 11 февраля 2011

Бьюсь об заклад, $ _SESSION ['index_visited'] установлено.возможно, вы хотите

if (isset ($ _ SESSION ['index_visited']) и $ _SESSION ['index_visited'] == 1) {

запомнить, если $ _SESSION ['index_visited']был установлен в 0, что считается как установлено.

1 голос
/ 11 февраля 2011

header('Location: index.php'); перезаписывает заголовки настроек сеанса.

Необязательный параметр replace указывает, должен ли заголовок заменить предыдущий аналогичный заголовок или добавить второй заголовок того же типа.По умолчанию он будет заменен, но если вы передадите FALSE в качестве второго аргумента, вы можете использовать несколько заголовков одного типа.

http://php.net/manual/en/function.header.php

Поэтому, пожалуйста, попробуйте: header('Location: index.php', false);

1 голос
/ 11 февраля 2011

Вероятно, у сеанса нет времени для правильного сохранения, прежде чем произойдет перенаправление.

Используйте session_write_close (); для принудительного сохранения сеанса непосредственно перед перенаправлением заголовка.

Так было бы:

<?php
session_start();
if ( !isset($_SESSION['index_visited']) ) {
  $_SESSION['page2_visited'] = 1;
  $_SESSION['wrong_number'] = 1;

  session_write_close();

  header('Location: index.php');

}
?>

session_commit () тоже работает.Это так же, как псевдоним session_write_close ()

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

Моя ошибка. Это не место для $ _SESSION ['неправильный номер'], теперь оно работает. В любом случае, спасибо за ответы.

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