创建javascript函数来破坏php会话

Joh*_*Doe 2 javascript php session destroy

我无法弄清楚如何创建一个会破坏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;
Run Code Online (Sandbox Code Playgroud)

现在我需要定义javascript函数.这是我遇到麻烦的地方.这是我到目前为止的基本概要......

function destroyphpsess()
{
<?php
session_destroy();
?>
}
Run Code Online (Sandbox Code Playgroud)

如果有人能帮助我完成这项功能,我将不胜感激!谢谢.

Bra*_*rad 11

您的JavaScript在客户端运行,而您的PHP在服务器端运行.你不能用这种方式从JavaScript调用PHP函数.您有两种选择:

  1. 对服务器端脚本执行AJAX调用以清除会话数据(建议,为了保持服务器端的一致性和正确清除)
  2. 使用JavaScript清除PHPSESSID cookie (如果重新配置会话的处理方式,或者会话由URL参数处理,则不起作用)


sec*_*ula 6

PHP会话通常使用存储在客户端的cookie.以下代码将清除该cookie,从而取消链接会话.

document.cookie = 'PHPSESSID=; expires=Thu, 01-Jan-70 00:00:01 GMT;';