2012-02-24 5 views
0

Я написал этот очень простой бит кода. но когда я выхожу из системы, ничего не происходит с сеансом, но он больше не отображается. , пожалуйста, помогите мне понять, почему. спасибо.сеансы понимания

<?php 
echo <<<_END 

<form method="post" action=""> 
<input type="hidden" name="in" value="yes" /> 
<input type="submit" value="Log in" /> </form> 

<form method="post" action=""> 
<input type="hidden" name="out" value="yes" /> 
<input type="submit" value="Log out" /> </form> 

_END; 



if(isset($_POST['in'])) 
{ 
session_start(); 
echo "hello, logged in!"; 
} 


if (isset($_POST['out'])) 
{ 
echo "logged out"; 
} 


echo session_id(); 

?> 
+0

Что такое «оно», которое больше не отображается? Вы имеете в виду 'echo session_id()'? – deceze

+0

Да, извините, должно быть яснее – Lan

ответ

2

У вас не может быть идентификатор сеанса, если вы не запустите сеанс.

+0

Точно. Используя стандартную обработку сеанса PHP, вы не можете получить доступ к данным сеанса перед вызовом функции 'session_start'. –

+0

но разве сеанс все еще активен, даже когда вы нажимаете кнопку, которая ничего не делает? точно так же, как обновление страницы – Lan

+0

Сессия * существует *, да. Но PHP не знает об этом до его запуска. –

Смежные вопросы