我无法弄清楚如何创建一个会破坏PHP会话的javascript函数.我有一个可点击的链接,它将调用一个名为destroyPHPsess的函数.我认为到目前为止这是可以的.现在我需要定义javascript函数.这是我到目前为止的代码……
if ($_SESSION['color'] == "") {
$var = "<a href='JavaScript:newPopup(\"http://www.yourfantasyfootballreality.com/register.PHP\");' class='two'>Register</a> | <a href='JavaScript:newPopup(\"http://www.yourfantasyfootballreality.com/signin.PHP\");' class='two'>Sign In</a>";
} else {
$var = "Hello, ".$_SESSION['color'] ."! | " . "<a href=\"http://www.yourfantasyfootballreality.com/index.PHP\" onclick=\"destroyPHPsess()\" class='two'>Log Out</a>";
}
echo $var;
现在我需要定义javascript函数.这是我遇到麻烦的地方.这是我到目前为止的基本概要……
function destroyPHPsess()
{
<?PHP
session_destroy();
?>
}
如果有人能帮助我完成这项功能,我将不胜感激!
谢谢.
解决方法:
您的JavaScript在客户端运行,而您的PHP在服务器端运行.你不能用这种方式从JavaScript调用PHP函数.您有两种选择:
>对清除会话数据的服务器端脚本执行AJAX调用(建议,为了保持服务器端的一致性和正确清除)
>使用JavaScript清除PHPSESSID cookie(如果重新配置会话的处理方式,或者会话由URL参数处理,则不起作用)