如何在jquery设置的php中销毁会话。
注册会话的代码是:
$('#psubmit').click(function() {
$.post("single-us_portfolio.php", {"myusername": "myusername"});
});
并访问custom.php上的会话代码为:
session_start();
$_SESSION["myusername"] = $_POST["myusername"];
if(!session_is_registered(myusername)){
echo '<meta http-equiv="Refresh" content="1; url=http://www.ididthisfilm.com/lex_tmp2/the-lexicon/">';
}
现在我想在此表单提交中销毁此会话:
<form >
<input type="file" class="js-file-validation-image" name="file" id="filed" required="required">
<input type="submit" value="PUBLISH PHOTO" id="hello" name="publishpost" >
</form>
答案 0 :(得分:1)
你想破坏会话的地方包括以下代码
说这是在session_destroy.php文件中
<?php
session_start();
session_destroy();//OR use unset if u want to destroy individual session.
clearstatcache();
?>
在任何你想要的事件上给这个文件调用ajax。
对于ajax电话
jQuery("#psubmit").mousedown(function(){
hasBeenClicked = 1;
//AJAX call
$.ajax({
url: 'session_destroy.php',
type: 'POST',
dataType: "json",
data: {
},
success: function(data){
}
});
////AJAX call
});
答案 1 :(得分:0)
会话在服务器上维护,无法在不向服务器发送请求的情况下在客户端上删除。所以你应该为后一种形式提供另一个api来破坏会话服务器端,就像设置会话服务器端一样。
答案 2 :(得分:0)
你需要像这样破坏jQuery帖子上的会话:
$('#hello').click(function() {
$.post("destroy.php", function(){
location.reload();
});
});
然后在destroy.php
sessionstart();
sessiondestroy();
如果您在表单上使用它,则必须确保已阻止默认表单提交,如果您希望它在不重新加载的情况下进行ajax调用。