单击“取消”按钮后销毁$ _SESSION

时间:2012-03-07 10:06:24

标签: php javascript

我想在点击“取消”按钮后销毁$ _SESSION ['userList']。但是,页面加载时会破坏$ _SESSION ['userList']。

以下是我的代码:

<a href='#' class="btn" onClick="resetForm()"><span>Cancel</span></a>

<script type="text/javascript">

                function resetForm() {
                    <?php

                        unset($_SESSION['userList']);

                    ?>

                }
            </script>

非常感谢任何帮助。

6 个答案:

答案 0 :(得分:3)

您无法在javascript(客户端)中执行PHP(服务器端)。您需要发出HTTP请求来调用PHP。你可以使用AJAX来做到这一点。

答案 1 :(得分:2)

JAVASCRIPT

$.ajax({
    type: "POST",
    url: "phppage.php",
    data: "action=unsetsession",
    success: function(msg){
        alert(msg);
        if(msg == "success"){
            //cleared session
        }else{
            //failed
        }
    },
    error: function(msg){
        alert('Error: cannot load page.');
    }
});

PHP

if($_POST['action'] == "unsetsession"){
    unset($_SESSION['userList']);
    echo "success";
}

答案 2 :(得分:1)

您不能像在您的示例中尝试那样在客户端执行PHP代码。如果你想要重新加载破坏会话,那么你必须使用ajax请求。

答案 3 :(得分:1)

你最好使用jquery来实现这个

<a href='#' class="btn" onClick="resetForm()"><span>Cancel</span></a>

<script>
function resetForm()
{
    jQuery.ajax({
        type: "POST",
        url: "cancel.php",
        data:,
        cache: false,
        success: function(response)
        {
        }
    });
}
</script>

并创建一个新的cancel.php,就像这样 -

<?php
unset($_SESSION['userList']);
?>

答案 4 :(得分:0)

你不能像这样从JS调用PHP。您需要回电话给服务器。

答案 5 :(得分:0)

使用提交按钮取消(您可以使用CSS使其看起来像您想要的那样) // HTML

<form method="post" >
<input type="button" value="Cancel" name="cancel" id="cancel" />
</form>

// PHP

if(isset($_POST['cancel'))
{
  unset($_SESSION['userList']);
}