Сессия не сохраняется - PullRequest
1 голос
/ 12 июля 2011

Я знаю, что это дубликат 2/3 других вопросов, но я попробовал предложенные решения, и они не сработали для меня. Я подозреваю, что проблема в файле PHP.ini, или с разрешениями папки сервера.

Страница входа:

<?php

ini_set('display_errors', 1);
error_reporting(E_ALL);

//EDIT: forgot to copy paste this, but it is in my code
session_start();

if (isset($_POST['username']) && isset($_POST['password'])) {
    //login function basically checks the posted username and password, then sets some
    //session variables accordingly
    login($_POST['username'], $_POST['password']);
}

if (isset($_SESSION['valid']) && $_SESSION['valid'] === true) {
    header("Location: /HomePage/Home.php");
    exit;
}

...

?>

Домашняя страница:

<?php

//EDIT: forgot to copy paste this, but it is in my code
session_start();

ini_set('display_errors', 1);
error_reporting(E_ALL);

if (!isset($_SESSION['valid']) || $_SESSION['valid'] !== true) {
    header("Location: /index.php");
    exit;
}

...

?>

Теперь вот странная часть. Согласно Firebug, когда я ввожу правильное имя пользователя и пароль, меня перенаправляют на домашнюю страницу (как и предполагалось) , а затем меня перенаправляют обратно на страницу входа . Я делаю var_dump сессии на домашней странице, чтобы проверить, и сессия пуста.

РЕДАКТИРОВАТЬ 2: Когда я заменяю заголовок на

echo "Session is " . session_id() . "<br />";

на странице входа в систему идентификатор сессии пуст. Это проблема? Как мне это исправить?

РЕДАКТИРОВАТЬ: Это была проблема с ini-файлом PHP, спасибо за помощь.

Ответы [ 2 ]

5 голосов
/ 12 июля 2011

Я не вижу вызовов session_start() ни в одном скрипте PHP.У вас не будет сеанса, пока вы не вызовете эту функцию (и она должна вызываться на каждой странице, которая использует сеансы).

1 голос
/ 12 июля 2011

Вы должны позвонить session_start(); или настроить session.auto_start в своем php.ini

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