2016-05-31 34 views
1

當我使用的onclick屬性來註銷我的網頁並銷燬該屆會議的摧毀它,我在註銷前...這裏是代碼....使用的onclick摧毀會議

       <ul> 
           <li> 
            <a href="dispUsers.php"> 
             Display Users 
            </a> 
           </li> 
           <li> 
            <a href="DispInfo.php"> 
             Display Users Information 
            </a> 
           </li> 
           <li> 
            <a href="index.php" onclick="<?= session_destroy();?>"> 
             Logout 
            </a> 
           </li> 
          </ul> 

又該我做???

+1

阿賈克斯將是一種選擇。 –

回答

4

是的!因爲你的邏輯不正確。 PHP不像js那樣在客戶端瀏覽器上運行。 PHP是一種服務器端語言。

您可以創建一個名爲logout.php一個新的PHP文件,還可根據您提供什麼,你不需要onclick屬性。您可以通過href調用logout.php。

的logout.php將包含註銷代碼和session_destroy()功能。

如果你想註銷腳本,您可以創建一個重定向頭後,將用戶重定向到另一個頁面,看到here

+0

太感謝你了.....這是有幫助的 –

1

我與jQuery.ajax做到這一點。請閱讀關於php塊的評論,以瞭解如何有效地殺死php會話。

logout.php

<?php 
if($_GET['logout']) 
{ 
    session_start(); 
    //remove PHPSESSID from browser 
    if (isset($_COOKIE[session_name()])) 
    setcookie(session_name(), "", time()-3600, "/"); 
    //clear session from globals 
    $_SESSION = array(); 
    //clear session from disk 
    echo session_destroy() ? "Successfully Logged Out" : "An error Occurred"; 
    exit; 
} 
?> 

file.html

<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $("#logout").click(function() { 
     $.ajax({ 
      type: "GET", 
      url: 'logout.php', 
      data: ({ logout : 1 }), 
      dataType: "html", 
      success: function(data) { 
       $("#output").text(data); 
       $("#logout").hide(); 
      }, 
      error: function() { 
       $("#output").text(data); 
      } 
      }); 
     }); 
    }); 
</script> 
</head> 
<body> 
<button id="logout"> Logout </button> 
<p id="output"></p> 
</body> 
</html> 
+0

非常感謝它會幫助我做出比我想我的代碼好更多.... –