Здравствуйте. Есть форма авторизации.
<form action="" method="POST">
<div class="textbox">
<input type="text" name="login" placeholder="Логин" >
</div>
<div class="textbox">
<input type="password" name="password" placeholder="Пароль">
</div>
<input class="btn" type="submit" name="submit" value="Войти">
</div>
</form>
Далее PHP поверка
<?php
if (isset($_POST['submit'])) {
$user = $_POST['login'];
$password = $_POST['password'];
$user1 = trim($user);
$user2 = stripslashes($user1);
$user3 = strip_tags($user2);
$user = htmlspecialchars($user3);
$password1 = trim($password);
$password2 = stripslashes($password1);
$password3 = strip_tags($password2);
$password = htmlspecialchars($password3);
if (strlen($user) < 3) {
echo "<script>alert('Короткий логин');</script>";
}
if (strlen($password) < 5) {
echo "<script>alert('Короткий пароль');</script>";
}
$auth = mysqli_query($connect, "SELECT * FROM `users` WHERE `login` = '$user' AND `password` = '$password'");
$result = mysqli_fetch_assoc($auth);
if (count($result) == 0) {
echo "<script>alert('Пользователь не найден');</script>";
}
}
?>
Для того, чтобы сделать куки я после переменной if count поставил else.
if (count($result) == 0) {
echo "<script>alert('Пользователь не найден');</script>";
} else {
setcookie('user', $user['login'], time() + 3600 * 24 * 7, "/");
}
Но была ошибка, тогда я переместил строчку setcookie в самое начало файла. При правильных данных ошибки не было, но куки не отображалось.
<?php
if ($_COOKIE['user'] == '') {
echo "Нет";
} else {
echo "Есть";
}
?>
В тоже время поместив в начало
print_r($_COOKIE);
вывелась строка
Array
(
[PHPSESSID] => цифры
)
Подскажите пожалуйста, в чём проблема?