Переменные сессии PHP не прилипают - PullRequest
1 голос
/ 01 ноября 2010

Вот упрощенная версия моего кода

<?php session_start();
    if($_GET['page'] == "login")
    {   // process username/password
        if(login is successful)
           $_SESSION['access'] = "dev";
    }
    else if($_GET['page'] == "request")
    {
        //get some data from an xml file using simplexml 
    }
?>
<?php if(!isset($_SESSION['access']) { ?>
    <!-- display login form. submits to this page + ?page=login -->
<?php } else { ?>
    <!-- display edit form, nothing more than a textarea, a select and a submit button. -->
    <!-- The form points to this page + ?page=request -->
<?php } ?>

Что происходит, когда я регистрируюсь, $ _SESSION ['access'] установлен правильно, но когда я снова отправляю данные на страницу для получения данных$ _SESSION ['access'] отключается и снова отображается форма входа в систему.

Что я делаю не так?Я довольно новичок в PHP.

1 Ответ

2 голосов
/ 01 ноября 2010

Вам необходимо явно сохранить данные в сеансе.session_start открывает сеанс для чтения / записи, но то, что написано, не остается неизменным, пока вы не сделаете это явно.

http://www.php.net/manual/en/function.session-write-close.php

Используйте эту функцию.

...