2016-05-31 57 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

非常感谢它会帮助我做出比我想我的代码好更多.... –