PHP сессия, если! Isset {} else die ()

У меня изначально был этот код (без плашки), но он позволял просматривать страницу.

Я попытался добавить функцию die, но она просто показывает пустую страницу.

<?php require('dbcon.php');?>
<?php session_start();
if (!isset($_SESSION['adminauth']))
{
header('login.php');
die();
};
?>

-2

Решение

@ Rizier123 верно, но один комментарий — HTTP / 1.1 требует абсолютного URI в качестве аргумента для »Location: включая схему, имя хоста и абсолютный путь, но некоторые клиенты принимают относительные URI.

<?php require('dbcon.php');?>
<?php
/* Redirect to a different page in the current directory that was requested */
if (!isset($_SESSION['adminauth'])) {
$host  = $_SERVER['HTTP_HOST'];
$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'login.php';
header("Location: http://$host$uri/$extra");
die();
}
?>
0

Другие решения

Включить вывод ошибок с помощью error_reporting(E_ALL) а также ini_set('display_errors', 'on'); тогда вы видите все ваши ошибки. Есть несколько вещей. Вы должны начать сеанс в верхней части скрипта, и ваш заголовок не верен.

header('Location: login.php');

В противном случае у вас есть ошибка.

1

см. заголовок PHP DOCS:

<?php
header('Location: http://www.example.com/');
exit;
?>
0
По вопросам рекламы [email protected]