Внутри страницы index.php находится некоторый код входа в систему, и когда пользователь входит в систему, он перенаправляет их на страницу index.php (просто обновляет страницу индекса) и альт, пользователь успешно вошел в систему.
Однако, когда я изменяю перенаправление на другую страницу (logged_in.php), мой объект $ user, похоже, не имеет никаких данных, доступных для проверки, вошел ли пользователь в систему или нет. Я предполагаю, что данные объекта $ user не передаются из сеанса index.php в сеансы logged_in.php.
Следующий код работает для перенаправления index.php:
require_once 'core/init.php';
session_start();
$user = $_SESSION["user"];
if (!$user->isLoggedIn())
{
echo 'not logged in';
//Redirect::to('index.php');
}
if ($user->isLoggedIn())
{
echo escape($user->data()->name);
}
Но тот же код не работает для logged_in.php.
Ошибка, отображаемая php:
Undefined variable: _SESSION in C:\wamp\etc...
Я уверен, что это что-то простое, например, обработка сессии.
Вот код для входа:
session_start();
if(isset($_POST['login']))
{
//echo "teste";
if(Token::check(Input::get('token')))
{
//echo "testeasd";
$validate = new Validate();
$validation = $validate->check($_POST, array(
'username' => array('required' => true),
'password' => array('required' => true)
));
if($validation->passed())
{
//echo "Passou!";
$user = new User();
$remember = (Input::get('remember') === 'on') ? true : false;
$login = $user->login(Input::get('username'), Input::get('password'), $remember);
if($login)
{
$_SESSION["user"] = $user;
//echo $_SESSION['user'];
//print_r($_SESSION['user']);
Redirect::to('logged_in.php');
}
else
{
echo "<p class='label label-danger'>Sorry, logging in failed.</p><br><br>";
}
}
else
{
foreach($validation->errors() as $error)
{
echo $error, '<br>';
}
}
}
}
и logged_in.php просто содержит код, который делает index.php:
require_once 'core/init.php';
session_start();
$user = $_SESSION["user"];
if (!$user->isLoggedIn())
{
echo 'not logged in';
//Redirect::to('index.php');
}
if ($user->isLoggedIn())
{
echo escape($user->data()->name);
}
Что стоит отметить:
В index.php у меня есть require_once 'init.php', который инициализирует классы и функции, включая user, validate, cookie, config, db, input, hash и другие подобные вещи. index.php также имеет код $user = new User();
вверху.
Полегче со мной - я новичок, просто пытаюсь понять простые логины.