Я создал систему входа/выхода в своем приложении, но она не работает даже при использовании session_start();
, session_destroy();
и session_unset ();
и т. д.
Вот что я сделал до сих пор:
первая страница (логин)
<?php
if(
!isset($_SERVER['PHP_AUTH_USER'])||
!isset($_SERVER['PHP_AUTH_PW'])||
($_SERVER['PHP_AUTH_USER'])!="admin"||
($_SERVER['PHP_AUTH_PW']!="admin")
)
{
header('WWW-Authenticate: Basic realm="Accès refusé"');
echo 'Accès refusé';
exit;
}
else
session_start ();
$_SESSION['PHP_AUTH_USER'] = "admin";
$_SESSION['PHP_AUTH_PW'] = "admin";
echo '
и это часть выхода
<?php
session_start();
session_unset ();
session_destroy();
header("Location: index.php");
die;
?>
Проблема в том, что сеанс не уничтожается даже при нажатии кнопки выхода.
if{
, а неif(
, за которым следует}
, а не)
и т. д. Кроме того, вам нужноsession_start();
на каждой странице. - person Funk Forty Niner   schedule 21.06.2013session_start();
обычно находится в верху страницы, а не внизу вelse
. Наверное, поэтому он разрушается. - person Funk Forty Niner   schedule 21.06.2013echo '
в вашем первом тексте опубликованного кода? Может быть неактуальным, просто для справки - person Funk Forty Niner   schedule 21.06.2013exit;
вместоdie;
или вообще удалить его? - person Funk Forty Niner   schedule 21.06.2013.htaccess
и/илиphp.ini
? - person Funk Forty Niner   schedule 21.06.2013session_regenerate_id(true)
во время процесса входа в систему. Не уверен, что это будет полезно. - person Funk Forty Niner   schedule 21.06.2013$_SESSION = array();
после звонкаsession_destroy();
- person Funk Forty Niner   schedule 21.06.2013session_start();
также в верхнюю часть страницы входа, оставив другой нетронутым, и это не сработало? - person Funk Forty Niner   schedule 21.06.2013