2016-07-17 9 views
0

Ich versuche, die Sitzungsinformationen bei der Aktualisierung zu zerstören. Das Problem hier ist, dass jedes Mal, wenn ich aktualisiere, die Daten immer noch auf dem Tisch erscheinen. Wie setze ich die Tabellendaten bei der Aktualisierung auf null?Sitzung bei Aktualisierung löschen

<?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

Sie können Javascript hier verwenden. Sie können Ihre Tabelle in der Funktion "Document.ready" löschen. Daher wird die Tabelle für jede Aktualisierung leer. –

+0

vielleicht ist das Problem diese Bedingung: if (Basisname ($ _ SERVER ['PHP_SELF'])! = $ _SESSION ["Daten"]). Versuchen Sie, dies zu überprüfen. –

Antwort

0

Wenn Sie alle Session-Variablen löschen möchten, nachdem Sie sie einmal abgerufen haben, können Sie PHPs session_unset() Funktion verwenden.

In Ihrem Code wäre es:

$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(); 
    } 
} 

Dies sollte alle Sitzungsdaten so löschen, wenn die Seite aktualisiert wird, $value null sein sollte.

Sie können auch versuchen, unset() zu verwenden, um die Werte zu entfernen. Z.B.

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

hi, leider wurde die Sitzung nicht zerstört :( – xodebox95

0

eine alternative Art und Weise ist Session als leeres Array zu setzen, und das würde helfen Ihnen:

$_SESSION = array(); 

EDIT

Sie zuerst versuchte zu zerstören und dann leeres Array gesetzt wie:

session_destroy(); 
$_SESSION = array(); 

vielleicht könnte dieser Beitrag helfen Sie: why session_destroy() not working

+0

funktioniert das auch nicht, oder stelle ich es in eine falsche Reihenfolge? – xodebox95