使用弹出消息销毁会话

时间:2015-09-09 09:17:59

标签: javascript php

我希望当我点击退出按钮然后它会破坏它运行完美的会话但问题是当我点击弹出窗口的取消按钮时它甚至会破坏会话。

下面是代码。

的index.php

<script>

  function logout(){
      if (confirm('Are you sure you want to logout?')){
        return true;
        <?php echo session_unset(); ?>
      }else{
        return false;
      }
    }
</script>

<a href="<?php echo PATH_HREF;?>index.php?p=registration" target="_blank" onclick="return logout();" class="blue"><b>click the Register link</b></a> 

3 个答案:

答案 0 :(得分:0)

您无法在没有AJAX或重新编码的情况下销毁会话。在您的情况下,以下ligne

<?php echo session_unset();  ?>

在页面显示时执行,Javascript不执行php指令。

因此,创建一个将在post中发送参数或执行ajax =)

的WebForm

答案 1 :(得分:0)

<?php echo session_unset(); ?>已经破坏了会话,无论是否确认用户注销。因为<?php echo session_unset(); ?>已经执行并销毁了会话

尝试使用此解决方案

使用代码

创建一个新文件logout.php
<?php 
session_start();
session_destroy(); // or  session_unset('session_name'); to dystroy individual session
header("Location: http://www.yourwebsite.com/home.php"); // to redirect user after logout
?>

并在javascript端

<script>

  function logout(){
      if (confirm('Are you sure you want to logout?')){
        window.location = "/logout.php";
        return true;
      }else{
        return false;
      }
    }
</script>

答案 2 :(得分:0)

您可以在注册页面上取消设置会话。