Я создал простой логин и систему регистрации, и у меня возникли проблемы.Но не уверен, что это с cookie или cookie и php.Мой код следующий:
На index.php (на странице входа у меня есть этот код в заголовке):
<?php
include('includes/config.php');
if(!$user->is_logged_in()){
header('Location: index.php');
exit;
}
if(isset($_POST['submit'])){
$username = $_POST['username'];
$password = $_POST['password'];
if($user->login($username,$password)){
$_SESSION['username'] = $username;
header('Location: home.php');
exit;
} else {
$error[] = 'Wrong username or password or your account has not been activated.';
}
}
?>
И на домашней странице, когда пользователь успешно вошел в систему:
<?php include('includes/config.php');
if(!$user->is_logged_in()){
header('Location: index.php');
exit;
}
?>
Файл конфигурации:
<?php
ob_start();
session_start();
date_default_timezone_set('Europe/London');
define('DBHOST','localhost');
define('DBUSER','root');
define('DBPASS','pass');
define('DBNAME','db_name');
define('DIR','http://example.com/');
define('SITEEMAIL','noreply@domain.com');
try {
$db = new PDO("mysql:host=".DBHOST.";dbname=".DBNAME, DBUSER, DBPASS);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo '<p class="bg-danger">'.$e->getMessage().'</p>';
exit;
}
include('classes/user.php');
include('classes/phpmailer/mail.php');
$user = new User($db);
?>
Проблема следующая, когда пользователь успешно вошел в систему и перенаправлен на домашнюю страницу, когда пользователь вышел из системы, все в порядке, но когда пользователь вошел в систему и не вышел из системывернуться на главную страницу (войти на страницу) я получаю эту ошибку:
Эта страница не работает website.com перенаправлял вас слишком много раз.Попробуйте очистить ваши куки.ERR_TOO_MANY_REDIRECTS
И когда я очищаю свой cookie из браузера Google Chrome, ошибка исправляется, но пользователь должен снова войти в систему, и когда тот же шаг сделать снова, я снова получаю ту же ошибку.