Сценарий входа с ob_start и Session, обновление без входа - PullRequest
0 голосов
/ 29 октября 2011

У меня проблема со сценарием входа в систему: у меня есть 3 сценария

index.php

ob_start();
session_start();
include ('config.php');
include ('home.php');
ob_end_flush();



home.php

 if($_SESSION['logged_in']) {
 echo $_SESSION['nome']; 
 } else { ?>
 <form name="login" action="checklogin.php";> 
 ...
 <?php } ?>



checklogin.php

ob_start();
session_start();
include("config.php");
if(isset($_POST['Submit'])) {
...
$_SESSION['logged_in'] = TRUE;
header("Location: http://$root");
die();
}
ob_end_flush();

Моя проблема заключается в следующем: при попытке войти в систему дляв первый раз моя страница обновляется без показа сеанса. Почему ?? Если попытаться закрыть и снова открыть мой браузер или войти во второй раз, он покажет сеанс.Зачем?Что мне делать?

1 Ответ

0 голосов
/ 29 октября 2011

Проблема, с которой вы столкнулись, состоит в том, что ваш сеанс PHP все еще активен из-за продолжительности жизни файла cookie сеанса из PHP. См. это обсуждение здесь , чтобы узнать о способах истечения ваших сеансов с использованием переменной $ _SESSION для хранения метки времени, а затем проверки этой метки времени, чтобы узнать, прошло ли определенное количество времени.

Кроме того, в этом же обсуждении также содержится подробная информация об изменении сервера PHP для установки продолжительности жизни сеанса по умолчанию с использованием параметров сборки мусора и времени жизни файлов cookie.

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