Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Куки не разрушаются после прошедшего установленного времени,почему?

есть скрипт авторизации и страница пользователя,вот они:

<form action="" method="POST">
<input name="username">
<input name="password" type="password">
<input type="submit">
</form>

<?php
session_start();
$host = 'localhost'; // Хост, у нас все локально
$user = 'root'; // Имя созданного вами пользователя
$pass = ''; // Установленный вами пароль пользователю
$db_name = 'my'; // Имя базы данных
$db = mysqli_connect($host, $user, $pass, $db_name);
if (!empty($_POST['password']) and !empty($_POST['username'])) {
$login = $_POST['username'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE username='$login' AND password='$password'";
$res = mysqli_query($db, $query);
$user = mysqli_fetch_assoc($res);
if (!empty($user)) {
$_SESSION['auth'] = true;
if(setcookie('user_id', time()+10))
echo "Кука установлен";
else
echo "Кука не установлен";
echo "User god";
echo "<a href='users.php'>User</a>";
} else {

session_start();
$_SESSION['auth'] = null;
echo "no god";
// неверно ввел логин или пароль
}
}
mysqli_close($db); // закрываем соединение с БД
?>

12345678910111213141516
 стр. "users.php"
<?php	session_start(); ?>
		<?php if (!empty($_SESSION['auth'])):
		?>
	<!DOCTYPE html>
	<html>
		<head>
			
		</head>
		<body>
			<p>текст только для авторизованного пользователя</p>
		</body>
	</html>
<?php else: ?>
	<p>пожалуйста, авторизуйтесь</p>
<?php endif; ?> 

кто подскажет почему по прошествии действия куки (и даже после закрытия страницы пользователя и выхода из браузера) все равно куки остаются ,почему не разрушаются?Что не так?Закрываю браузер,открываю ,а он авторизирован,куки не уничтоженны,как так?

По дате
По рейтингу
Аватар пользователя
Мыслитель
1
 setcookie('user_id', time()+10) 

Здесь не указано время жизни, вернее, указано не в том месте. Попробуйте вот так:

1
 setcookie('user_id', 'любой текст', time()+10) 
Аватар пользователя
Оракул

время жизни куки не работает в том случае если его задали не правильно не в том формате и особенно если передали не тем параметром