В чём у меня заключаетья ошибка я не могу понять
У меня ошибка в 12 строке
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="assets/css/main.css">
<link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet">
<title>BYOWL | Login in</title>
</head>
<body background="assets/img/background.jpg">
<!--Форма авторизации-->
<?php
if($_COOKIE['user']==''):
?>
<form action="" method="" style="border: 5px solid white; border-radius: 10px;">
<label>Login</label>
<input type="text" placeholder="enter login">
<label>Password</label>
<input type="password" placeholder="enter password">
<button>Sign in</button>
<p>
Don't have an account? - <a href="register.php" style="padding: 10px 0 0 0;">create an
account</a>
</p>
</form>
<?php endif; ?>
</body>
</html>
а вот где я сделал куки
<?php
$login = filter_var(trim($_POST['login']),FILTER_SANITIZE_STRING);
$password = filter_var(trim($_POST['password']),FILTER_SANITIZE_STRING);
$mysql = new mysqli('localhost','root','','byowl');
$result=$mysql->query("SELECT * FROM `users` WHERE 'login'='$login' AND 'password'='$password'") ;
$user=$result->fetch_assoc();
if (count ($user)==0) {
echo "User is not found";
exit();
}
setcookie ("user", $user['login'], time()+3600,"/");
$mysql->close();
header('location: /' );
?>
Ответы (1 шт):
выдаёт когда через локал хост загружаю страницу
Что конкретно выдаёт?
Notice: Неопределенный индекс? (Notice: Undefined index). Если да, то перед сравнением добавьте проверку наличия данного индекса.
Дополняю, отвечая на вопрос, заданный в комментарии:
Проверить существование индекса, что бы не вылетал Notice можно разными функциями: array_key_exists('user', $_COOKIE), empty($_COOKIE['user']).
В вашем случае для более корректной проверки вам следует $_COOKIE['user']=='' заменить на empty($_COOKIE['user']).
Суть проверки останется той же и уведомление появляться не будет, т.к. empty под капотом проверяет и на существование данного ключа и на пустоту его значения.