Mirt
Новичок
Всем привет!
Задание учебное, я чайник, не кидайтесь тапками, пожалуйста
У меня есть php-код, который выводит форму "Имя", "Пароль", устанавливает куки и выводит "Welcome" страницу, с использованием имени, сохраненного в куки. Там же кнопка "разлогиниться", которая забывает куки и возвращает форму авторизации.
Вопрос в том, что без присвоения в первом if ( $_COOKIE ['user']=$_POST['user']; ), все работает только после второго обновления страницы
С этим костылем все работает
Вопрос оптимизации кода не стоит. Хочется понять в чем логика не срабатывания с первого раза. Почему сеткуки не срабатывает без присвоения ?
1) форма
Посмотреть вложение 1639418807315.png
2) велком страница
Посмотреть вложение 1639418823408.png
Задание учебное, я чайник, не кидайтесь тапками, пожалуйста
У меня есть php-код, который выводит форму "Имя", "Пароль", устанавливает куки и выводит "Welcome" страницу, с использованием имени, сохраненного в куки. Там же кнопка "разлогиниться", которая забывает куки и возвращает форму авторизации.
Вопрос в том, что без присвоения в первом if ( $_COOKIE ['user']=$_POST['user']; ), все работает только после второго обновления страницы
С этим костылем все работает
Вопрос оптимизации кода не стоит. Хочется понять в чем логика не срабатывания с первого раза. Почему сеткуки не срабатывает без присвоения ?
Код:
<?php
//установить куки
if (isset($_POST['LogIn'])) {
// $_COOKIE ['user']=$_POST['user']; мой мнимый костыль, без которого не работает
setcookie('user', $_COOKIE ['user']);
}
// удалить куки
if (isset($_POST['logout'])) {
unset($_COOKIE['user']);
setcookie('user',"",time() - 3600);
}
if (isset($_COOKIE['user'])) {
echo("Welcome, ".$_COOKIE['user']."!</br>");
print '
<form name="logout" method = "POST"> <br>
<input type="submit" name = "logout" value="It is not me.." id = "out"></p>
</form>';
} else {
print '<form name="login" method = "POST">
<label>Name: <br>
<input type="text" name="user" id = "usr" oninput = "checkFields()"></label></p>
<label>Password: <br>
<input type="password" name="password" id = "pass" oninput = "checkFields()"></label></p>
<input type="submit" name = "LogIn" value="Log in" id = "in"></p>
</form>';
}
?>
Посмотреть вложение 1639418807315.png
2) велком страница
Посмотреть вложение 1639418823408.png
Последнее редактирование: