回答
不,它不是一个有效的代码。它会在加载php页面时破坏会话。
有关单击销毁会话,你应该写
<a href="logout.php" >Logout</a>
在logout.php
session_destroy();
不,它不是逻辑调用从客户端服务器端功能,onClick
是一个事件在客户端发生,因此,它不能称之为session_destroy()
因为它的服务器端(PHP函数),这是不在客户端可用
错误的代码。您可以使用此代码:
<?php if($_GET['logout']==1) session_destroy(); ?>
<a href="?logout=1">Logout</a>
建立一个叫做logout.php
Logout.php_ _页___
<?php
Session_start();
Session_destroy();
header('Location: ' . $_SERVER['HTTP_REFERER']);
?>
你page_ _ ____
<a href="Logout.php">Logout</a>
这是正确的方法。在销毁它之前,应该开始会话。 – vasc0x
点击链接之前,该代码就已经破坏了会议,你应该这样做是这样的:
HTML页:
<a href="sessiondestroy.php">Logout</a>
Sessiondestroy.php:
<?=session_start(); session_destroy(); ?>
无其无效... onclick是一个客户端事件。你可以这样做。
<a href="logout.php">logout</a>
并创建一个名为logout.php文件和包括session_destroy();声明
<?php
session_destroy();
//do other things... like redirect to a deafault/login page
?>
这是可能的。如果您专注于使用onClick操作,则可以简单地使用AJAX。首先,你需要创建ajax.php,这将是这样的:
<?php
//AJAX dynamic callback
if(isset($_GET['action'])){
if($_GET['action'] == 'logout'){
//destroy the session
session_destroy();
echo 'Logout success!';
//redirect the user to a default web page using header
header("location:http://example.com/");
}
}
?>
然后你想创建一个JavaScript文件,该文件会告诉ajax.php,你想注销:
<script>
function logout()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("Logoutbutton").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax.php?action=logout",true);
xmlhttp.send();
}
</script>
不管怎么说,感谢您使用StackOverflox,并请报到它是如何去,或者如果你需要额外的帮助:)
TP
我曾经有过最复杂的注销,我的意思是从未见过。 – user2067005
- 1. 只要模型销毁链接被点击,Rails会话就会被销毁
- 2. PHP会话销毁
- 3. 销毁会话PHP
- 4. 关闭销毁PHP会话
- 5. 真正销毁PHP会话?
- 6. 在php中销毁会话
- 7. swfupload销毁会话? php
- 8. 销毁特定会话PHP
- 9. 销毁会话
- 10. 销毁会话
- 11. Facebook的连接 - 注销+销毁会话
- 12. 更改PHP会话ID链接点击
- 13. 点击链接时激活PHP会话
- 14. 销毁$ _SERVER会话?
- 15. 销毁Nuance会话
- 16. 有注销问题,当我点击注销按钮它不会销毁会话
- 17. 如何销毁特定的PHP会话
- 18. 销毁php后启动会话
- 19. 在PHP中销毁会话时出错
- 20. (PHP)如何正确销毁会话cookie?
- 21. Php会话变量销毁此说明
- 22. PHP会话创建并销毁提交?
- 23. php会话销毁使用ajax
- 24. 重新生成会话/销毁会话
- 25. swfupload会话问题销毁会话
- 26. 会话自动销毁笨
- 27. 会话销毁错误
- 28. 我无法销毁会话
- 29. 销毁会话,Rails设计
- 30. JMeter无法销毁会话
会话应该使用session_destroy之前启动()。 – vasc0x