我想在点击“取消”按钮后销毁$ _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>
非常感谢任何帮助。
答案 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']);
}