2016-07-17 7 views
0

Я пытаюсь уничтожить информацию о сеансе после обновления. Проблема здесь в том, что каждый раз, когда я обновляюсь, данные все равно появляются на столе. Как установить данные таблицы в значение null при обновлении?Уничтожьте сеанс после обновления

<?php 
     $value = $_SESSION["data"]; 
     $query = "SELECT * FROM datas WHERE CONCAT(`code`,`name`, `ID`, `cost`) LIKE '%".$value."%'"; 
     $search = filterTable($query); 
    if (isset($_SESSION["data"])) { 
     if (basename($_SERVER['PHP_SELF']) != $_SESSION["data"]) { 
      session_destroy(); 
     } 
    } 
    function filterTable($query) 
    { 
     $connect = mysqli_connect("localhost", "root", "", "databasename"); 
     $filter = mysqli_query($connect, $query); 
     return $filter; 
    } 

?> 
+0

Здесь вы можете использовать Javascript. Вы можете очистить таблицу в функции «Document.ready». Таким образом, для каждого обновления таблица становится пустой. –

+0

возможно, проблема в этом условии: if (basename ($ _ SERVER ['PHP_SELF'])! = $ _SESSION ["data"]). Попробуйте дважды проверить это. –

ответ

0

Если вы хотите, чтобы очистить все переменные сессии после того, как вы извлекли их один раз, вы можете использовать ПГПС session_unset() функцию.

В коде это будет:

$value = $_SESSION["data"]; 
    $query = "SELECT * FROM datas WHERE CONCAT(`code`,`name`, `ID`, `cost`) LIKE '%".$value."%'"; 
    $search = filterTable($query); 
if (isset($_SESSION["data"])) { 
    if (basename($_SERVER['PHP_SELF']) != $_SESSION["data"]) { 
     session_unset(); 
    } 
} 

Это должно очистить все данные сеанса поэтому, когда страница обновляется, $value должен быть пустым.

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

unset($_SESSION['data']); 
+0

привет, к сожалению сессия не была разрушена :( – xodebox95

0

один альтернативный способ установить сеанс, как пустой массив, и это поможет вам:

$_SESSION = array(); 

EDIT

вы пытались первым уничтожить, а затем установить пустой массив например:

session_destroy(); 
$_SESSION = array(); 

Возможно, это сообщение может помочь вы: why session_destroy() not working

+0

это тоже не работает, или я помещаю его в неправильный порядок? – xodebox95

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