Как правильно установить срок действия куки с помощью php - PullRequest
0 голосов
/ 25 февраля 2019

Я создал систему управления пользователями, которая позволяет пользователям входить в систему в течение 1 года

Я смог сделать это, используя приведенный ниже фрагмент

         if (PHP_VERSION >= 5.1) {

          $expire = 365*24*3600; // We choose a one year duration

          ini_set('session.gc_maxlifetime', $expire);

            session_start(); //We start the session 
           // session_regenerate_id(true);
          setcookie(session_name(),session_id(),time()+$expire); 
            //Set a session cookies to the one year duration

Это работает, как я и предполагал,но затем я хочу также предоставить пользователям возможность выхода из системы и сброса файлов cookie по истечении срока действия.

Я застрял, это не просто работает, мои пользователи попадают в ловушку и вошли в систему в течение целого года, как он стоитесли бы им нужно было выйти из системы, они бы этого не сделали.

Это то, что я пытался удалить куки и очистить переменные сеанса, чтобы пользователи могли выйти из системы.

        if ( isset( $_COOKIE[session_name()] ) )
        setcookie( session_name(), "", time()-31556952, "/" );

         $_SESSION = array();

         session_destroy();

      setcookie('cookie1', '', strtotime('-1 year'));
      setcookie('cookie2', '', strtotime('-1 year'));

Я не могуотмените срок действия файла cookie

Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 25 февраля 2019

После того как ваш пользователь вышел из системы, вы можете просто удалить файл cookie и создать новый, срок действия которого истекает через год.

Попробуйте удалить этот файл cookie, затем вы сможете использовать свой код для создания новогоодин:

$sessionName = session_name();

if (isset($_COOKIE[$sessionName])) {
  setcookie($sessionName, "", time() - 3600);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...