0

Im пытается получить несколько переменных сеанса до таймаута/уничтожения на 30 минут, но используя как минимум минимальный, но эффективный код, насколько это возможно.Удаление/Сроки/Выделение сразу нескольких переменных сеансов php

Сейчас у меня есть два решения следующим образом:

if(isset($_SESSION['fullname']) && (time() - $_SESSION['fullname'] > 1800)) { 
    session_unset(); 
    session_destroy(); 
} 
$_SESSION['fullname'] = time(); 

session_start(); 
    $user_inactive = 1800; 
    $user_session = time() - $_SESSION['current_user']; 
    if($user_session > $user_inactive) { 
    session_destroy(); 
    header("location: logout.php"); 
    } 
    $_SESSION['current_user']=time(); 

Оба они работают отлично для отдельных переменных, Но я пытаюсь получить эту Destory несколько переменных в такое же время, как:

  1. Ф.И.О.
  2. Phonenumber
  3. EMAILADDRESS

и так далее ...

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

Спасибо.

+0

'session_destroy()' собирается завершить сеанс, удалив все из них. – Darren

+0

Лучше всего отключить весь сеанс, а не очищать отдельные переменные. Частичное очищение сессии будет кошмаром для поддержания. – user2182349

+0

Я подумал об использовании только session_destroy() самостоятельно, но последствия этого будут некоторыми из других сеансов, которые мне нужно выполнить, затем станут недействительными.я просто работаю над кодом, когда я говорю, и один подозревает, что, возможно, используя cookie для переноса других ценностей, которые мне нужны, я еще не работал, но все же так благодарен за любые идеи или мысли. Спасибо всем. – NewLearner

ответ

2

NewLeaner, как вам известно, из моего последнего вопроса, на который я ответил, я все еще изучаю основы, поэтому я далек от опыта, но я преодолеваю такую ​​проблему во время кодирования своего приложения и as Darren mentioned in a previous comment, имея список значений переменных внутри массива позволит вам соответственно отменить соответствующие сеансы на основе значений массива, соответствующих значениям переменной сеанса.

Ниже приведен пример значений переменных сессии:

  1. Ф.И.О Сессия: $_SESSION['fullname']
  2. Phonenumber Сессия: $_SESSION['Phonenumber']
  3. EMAILADDRESS Сессия: $_SESSION['Emailaddress']

$unset = array('Fullname','Phonenumber','Emailaddress'); 
foreach($unset as $sessions) { 
    unset($_SESSION[$sessions]); 
} 

Это приведет к отключению и удалению вышеуказанных сеансов, таких как Полное имя, Номер Phonenumber, Emailaddress и любые другие, которые вы хотите добавить в массив.

Вы можете добавить больше значений в массив, используя одинарные кавычки и разделенные запятой. Ниже приведен пример добавления дополнительных значений.

$unset = array('Fullname','Phonenumber','Emailaddress', 'Variable_4', 'Variable_5', 'Variable_6', 'Variable_7', 'And so on...'); 

Надеюсь, что это поможет еще раз!

+0

Да, я заметил Даррен оригинальный комментарий, я ценю аббревиатуру и объяснение этого и спасибо за ваше время. – NewLearner

+1

Вы получаете мой +1 за предоставление кредита и более подробное объяснение ответа. Хорошая работа :) – Darren

Смежные вопросы