Как реализовать & quot; Запомнить меня & quot;

Извините, я задаю вопрос, который был задан ранее, но, несмотря на то, что я прочитал их все, я все еще не понимаю, что делать.
Что именно я должен сделать, чтобы реализовать функцию «Помни меня» на своем веб-сайте, который я создаю в качестве своего проекта на последнем году. Достаточно ли одного вызова функции «setcookie ()»?

-1

Решение

setCookie() это все, что тебе нужно.

Вы можете использовать это так:

$cookie_value = 'MyUsername';
$cookie_expire = time() + 60*60*24*365;// 365 days
$cookie_path = '/';
setcookie('remember_me',$cookie_value, $cookie_expire, $cookie_path);

При следующей загрузке страницы вы можете получить значение cookie Remember_me с помощью:

$_COOKIE['remember_me'];

Но часть «следующей загрузки страницы» важна, потому что PHP-куки не могут быть установлены и прочитаны в одном и том же действии браузера.

Самым простым из возможных способов. То, как я собрал бы все это для демонстрации вашего проекта, — это страница php с html <form> что сообщения для себя.

Ваше имя файла будет что-то вроде my_form.php

внутри это будет:

<?php
//   If we received a username from the form, remember it for a year.
if( $_POST['username'] ):
setcookie('remember_me',$_POST['username'], time()+60*60*24*365, '/');
endif;
?><?php
//  Display a message if the user is remembered.
if( isset($_COOKIE['remember_me']) ):
echo '<h2>Welcome back, '.$_COOKIE['remember_me'].'!</h2>';
endif;
?><form action="" method="post">
<input name="username" type="text" placeholder="Your Username" value="<?php echo $_COOKIE['remember_me'] ?>" required />
<button type="submit">Remember me</button>
</form>

Эта форма подчиняется себе. Если вы видите имя пользователя, которое вы только что ввели в приветственном сообщении, оно запоминает вас.

Очень важно! setcookie() вызов в PHP должен быть первым в вашем файле my_form.php. Иначе setcookie() не будет работать, если любой вывод произошел с веб-браузером до вызова setcookie() функция.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]