Я довольно noob на PHP, но я пытаюсь упражняться. Со вчерашнего дня я нахожусь на проблемы, я даже не могу понять, я думал, что мой код был правильным, но это кажется неправильнымЗаписан У этого пользователя есть подпись, которая отображается под каждым сообщением, но вы не можете ее просматривать.
Так вот моя функция, чтобы страницы для зарегистрированных пользователей
functions.php
function logged_only()
{
if(session_status() == PHP_SESSION_NONE)
{
session_start();
}
if(!isset($_SESSION['auth']))
{
$_SESSION['flash']['danger'] = "You can't enter this page - not logged in";
header('Location: login/login.php');
exit();
}
}
Так Он должен перенаправить меня на страницу входа, если я не авторизованы, просто
login.php
elseif(password_verify($_POST['password'], $user->password)){
$_SESSION['auth'] = $user;
$_SESSION['flash']['success'] = 'You're now connected';
header('Location: ../profile.php'); // user's homepage
exit();
Существует код выше и под этим, но он работает очень хорошо.
Итак, в этом случае сценарий должен вставлять информацию пользователя в его $ _SESSION, но он ничего не меняет, а перенаправляет меня на login.php. Кроме того, «profile.php« содержит только «logged_only();» и print_r (когда я удалить перенаправление login.php) из $ _SESSION, который не показывает ничего, кроме «Вы не можете получить доступ к этой странице» (как я отправляю сообщение с помощью $ _SESSION)
Кто-нибудь, чтобы вести меня? Благодаря
http://php.net/manual/en/function.error-reporting.php –
Место 'session_start(); 'в верхней части любого скрипта, вне любых условий, которые являются или имеют возможность использования сеансов. – Marcus