vinpkl Posted November 22, 2008 Share Posted November 22, 2008 hi alli have my logout.php which destroys sessions and session ids on click of logout buton. I want to have same effect means i want to call this logout.php script when the user closes the "browser tab".as these are the days of "browser tabs" so this is very important for me. when the user closed the whole browser or logout then all session and session ids are destroyed automatically but these sessions are not destroying when the user closes the "browser tab".I have tried ajax also but not able to get the result as i m not much in ajax. So it would be great if somebody helps me with calling my logout.php script on closing "browser tab".This is ajax script <script type="text/javascript">function ajaxFunction(){var xmlHttp;try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); }catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { alert("Your browser does not support AJAX!"); return false; } } } xmlHttp.onreadystatechange=function() { if(xmlHttp.readyState==4) { document.myForm.time.value=xmlHttp.responseText; } } xmlHttp.open("GET","customer_logout.php",true); xmlHttp.send(null); }</script> This is my customer_logout.php script <? require_once("config.php");$unique_id = session_id(); session_regenerate_id();$qry="delete from cart_table where unique_id='$unique_id'";mysql_query($qry);$_SESSION = array(); session_unset();session_destroy();header("Location:index.php"); ?> This is i calling ajax in html <body onunload="ajaxFunction()"> vineet Link to comment Share on other sites More sharing options...
Lulzim Posted November 22, 2008 Share Posted November 22, 2008 PHP session id is stored on the browser as a cookie named PHPSESSID which will be deleted only when you close the browser not the browser tab. You can try to delete that cookie on unload using javascriptSomething like this: <body onunload="destroySession();"> function destroySession() { document.cookie = "PHPSESSID=asd;path=/"; } I haven't tested it, just guessing;Although, I don't think destroying the session when user closes the tab is a good idea. Let's say I'm browsing your website, and I have two pages from your website loaded on two tabs. If I close one of the tabs I will be logged out on the other :S Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.