2015-02-24 47 views
-1

我在PHP中有登錄功能,工作得很好。當我點擊Logout時,從會話中註銷大約需要10秒鐘。更快的註銷腳本PHP

我怎樣才能讓它更快?

我的網站託管在共享服務器上。
logout.php的樣子如下

<?php 
    session_start(); 
    unset($_SESSION['logdname']); 
    header('location: ./'); 
?> 

$_SESSION['logdname']已設置在登錄到網站。

+1

替換'頭( '位置:./')'和'頭( '位置:/')' – 2015-02-24 11:45:05

回答

4

要銷燬會話,請在標題後面添加session_destroy();exit;以便在下面有更多代碼時停止進一步的執行。

<?php 
session_start(); // start the session 
$_SESSION['logdname'] = "John"; 
session_destroy(); // destroy active session 

$_SESSION = array(); 
header('Location: http://www.example.com/'); 
exit; 

測試代碼,向您展示的證明:

<?php 
session_start(); // start the session 
$_SESSION['logdname'] = "John"; 
echo $_SESSION['logdname']; // will echo John 
session_destroy(); // destroy active session 

$_SESSION = array(); 
echo $_SESSION['logdname']; // will not echo John 

否則,將下面session_start();將生成警告,如

警告:session_destroy():試圖摧毀未初始化會話

and

警告:在session_start():不能發送會話緩存限制器 - 頭已經發出已

+0

是否需要提及域爲'http:// example.com' ..不能'header('location:./')'工作嗎? – Gags 2015-02-24 14:20:13

+0

@垃圾在手冊中建議使用完整的http呼叫。如果你的方式有效,你可以使用它,如果你願意。 – 2015-02-24 14:23:02