2017-12-06 1 views
-3

Ich versuche ein Anmeldesystem zu erstellen. Im Moment scheint alles wie erwartet zu funktionieren, außer dass ich meine Sitzungs-ID nicht löschen kann,Sitzungs-ID kann nicht gelöscht werden

Warum scheinen session_unset() und session_destroy keine Wirkung zu haben?

UPDATE: behobenes unter

Index.php

session_start(); 

    if (array_key_exists('id', $_COOKIE) && $_COOKIE ['id']) { 
    $_SESSION['id'] = $_COOKIE['id']; 

print("SESSION ID"); 
print("<br>"); 
print_r($_SESSION); 
print("<br>"); 
print("COOKIE"); 
print("<br>"); 
print_r($_COOKIE); 

    } 

// SET SESSION

function setSession($setSessionData) { 

    $_SESSION['id'] = $setSessionData[0]; 

    if ($setSessionData[1] == 'yes') { 
     setcookie('id', $setSessionData[0], time() + 60*60*24*365, '/' ); 
    } 
    }; 

// CLEAR SESSION

function unSetSession() { 

    session_unset(); 
    setcookie("id", "", time() - 60*60*24*365, '/'); 
    session_destroy(); 

} 
+0

Sie haben nicht den Code der Login-und Logout-Seiten gegeben. –

+2

Sind Sie sicher, die Sitzungs-ID manuell festzulegen? PHP beschäftigt sich mit der PHPSESSID selbst und schreibt es in einen Browser Cookie – Matschek

+0

@ CavidKərimov es ist alles Ajax Anrufe. @Matscheck Das ist, was ich im Tutorial gelernt habe, aber ich bin ein Anfänger bei diesem Problem. Problem ist das 'session_unset()' und 'session_destroy' scheinen keinen Effekt zu haben – Doer

Antwort

0

GELÖST:

Hatte die Sitzung in meiner Funktion über Ajax aufgerufen zu initialisieren; So ist die Abmeldefunktion wie folgt:

function unSetSession() { 

    session_start(); 
    $_SESSION = array(); 
    setcookie("id", "", time() - 60*60*24*365, '/'); 
    session_destroy(); 

} 
Verwandte Themen