2015-03-02 191 views
0

我想銷燬所有會話values.I在所有pages.I有註銷按鈕。我想以兩種方式調用此logout.php。 1.同時點擊頁面中的退出按鈕。 2.設置10分鐘後刷新頁面的時間。銷燬會話,同時註銷

在我的html標題中,我有元標記刷新並調用logout.php頁面。

<META HTTP-EQUIV="refresh" CONTENT="600;URL=logout.php?timeout"> 

logout.php

<?php 
session_start(); 
// remove all session variables 
session_unset(); 
$_SESSION = array(); 
// destroy the session 
session_destroy(); 
echo ("<SCRIPT LANGUAGE='JavaScript'> 
window.location.href='login.php'; 
    </SCRIPT>"); 
?> 

我的問題是會話不被破壞,但重定向到login.php.I有一個代碼,如果重定向到主頁在夾在頁面沒有會話值。如果我登錄它重定向到儀表板頁面。
用於測試我複製儀表板鏈接並粘貼它。而不是重定向到登錄頁面它顯示儀表板頁面。

+3

對於重定向,您可以使用php函數「標題」而不是注入腳本。見http://php.net/manual/en/function.header.php – Shishdem 2015-03-02 11:19:23

+1

你怎麼能說會話不會被銷燬並重定向到登錄頁面,當你刷新登錄頁面時,它會將你重定向到儀表板或其他。 – 2015-03-02 11:19:49

+0

看到我編輯的文章 – user3386779 2015-03-02 11:25:02

回答

1

嘗試將exit;添加到最後,這會停止不再需要的頁面呈現。並使用header('Location :');函數,找到一種方法來解決你得到的錯誤here。這個小片段一直爲我工作。對調用此代碼的每個頁面執行require('logout.php')session_start();應該已經在主文件中說明了,所以不需要在這裏說明。

if(isset($_GET["logout"])){ 
    $_SESSION = array(); 
    session_destroy(); 
    header("Location: /"); 
    exit; 
}