Създадох система за влизане/излизане в приложението си, но тя не работи дори при използване на 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