как насчет использования этого для установки сеанса
session_start();
if( isset($_POST['username']) && isset($_POST['password']) )
{
if( auth($_POST['username'], $_POST['password']) )
{
// auth okay, setup session
$_SESSION['user'] = $_POST['username'];
// redirect to required page
header( "Location: index.php" );
} else {
// didn't auth go back to loginform
header( "Location: loginform.html" );
}
} else {
// username and password not given so go back to login
header( "Location: loginform.html" );
}
и в верхней части каждой «безопасной» страницы используйте этот код:
session_start();
session_regenerate_id();
if(!isset($_SESSION['user'])) // if there is no valid session
{
header("Location: loginform.html");
}
это сохраняет очень небольшое количество кода в верхней части каждой страницы вместо того, чтобы запускать полную аутентификацию вверху каждой страницы. Чтобы выйти из сеанса:
session_start();
unset($_SESSION['user']);
session_destroy();
header("Location: loginform.html");