php oturum değişkeni silmek

4 Cevap php

Hi friends i create a webpage in that i use session variables , when i click logout i clear the session variables using ajax , it working fine in IE , But when i use firefox sometimes the session is not destroyed , the code i used to clear session is [when i click logout button]

function floadhomepage(){

    ajaxFunction();
//alert('Logout clicked');
window.location.replace("index.php");

}

function ajaxFunction()
var xmlhttp;
if (window.XMLHttpRequest){
  // code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
   }


else if (window.ActiveXObject){
// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

else {

  alert("Your browser does not support XMLHTTP!");
}
xmlhttp.onreadystatechange=function(){
}
xmlhttp.open("GET","logout.php",true);
xmlhttp.send(null);
}

logout.php dosyasında folowing kodu içeren

<?php
session_start();
session_destroy();
unset($_Session['session variable name']);
?>

Please guide me to find the solution Thanks in advance..

4 Cevap

Denemek

session_start();
$_SESSION = array();
session_destroy();

Ben sorunun çeşit vardı

$ _SESSION ['Oturum değişken adı'] bir dizi ('first_element' => true, => '123456789 'second_element') idi.

Ben yaptım

unset ($ _SESSION ['oturum değişken adı'])

o zaman

session_destroy, and session_start and redefined $_Session['session variable name'] = array( 'first_element' => true );

Whan I ['oturum değişken adı'] $ _SESSION var_dumping edildi

oldu dizi second_element ile (=> true, 'second_element' => '123456789 'first_element')!

Ben dizideki tüm unsurları yoketmek zorunda.

Ben php yükseltilmiş bu sorun ortadan kayboldu. Şimdi ben vardı php sürümü hatırlamıyorum.

Hiç tarayıcı önbelleği düşündünüz mü? Eğer ateş oturumu bile, firefox hala sayfa açmış önbelleğe.

Bu gibi bir şey kullanarak sayfa önbelleğini durdurma deneyin:

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past

session_destroy() tek başına yeterli olduğunu ve sunucu tarafında olduğu gibi, tarayıcı bağımsız olduğunu.