Default
Эксперт
Дата регистрации:
12.06.2012 15:20:27
Сообщений: 102
index.php
<?php session_start();
if(isset($_COOKIE['remember'])){
header("Location:room.php"
}
if(isset($_POST['go'])){
if(isset($_POST['name'])){
$_SESSION['name'] = $_POST['name'];
if(isset($_POST['remember'])){
setcookie('remember',$_SESSION['name'], time()+60);
}
header("Location:room.php"
}
}
?>
<form action = '' method = 'POST'>
Имя:<br/>
<input type = 'text' name = 'name' ><br/>
<input type = 'checkbox' name = 'remember' ><br/>
<input type = 'submit' name = 'go' value = 'Пошел'>
</form>
room.php
<?php session_start();
if(!isset($_SESSION['name']))
header("Location:index.php"
echo "Wello, ".$_SESSION['name'];
?>
имя отображается, все хорошо, но только до закрытия броузера! после закрытия броузера и его открытия перехеода по адресу index.php либо room.php выдает в броузере такую ошибку "На этой странице обнаружена циклическая переадресация" - это значит, что кука на странице index.php установлена, поэтому меня перенапровляет на room.php, а на странице room.php идет проверка существует ли $_SESSION['name'] которая по сути должна быть записанная в куках, короче, он не находит эту $_SESSION['name'] и перенаправляет снова на index.php и гоняет туда - суда. вопрос, почему так? ведь $_SESSION['name'] записан в куках и должен работать нормально и при вызове $_SESSION['name'] после повторного открытия браузера должен срабатывать.
И еще если на странице room.php делать так, то нормально все будет после закрытия и снова открытия броузера
<?php session_start();
$_SESSION['name'] = $_COOKIE['remember'];
echo "Wello, ".$_SESSION['name'];
?>
ну или
<?php session_start();
$_COOKIE['remember'];
echo "Wello, ".$_COOKIE['remember'];
?>