创建JavaScript函数来销毁php会话

Creating javascript function to destroy php session

本文关键字:php 会话 JavaScript 函数 创建      更新时间:2023-09-26

我很难弄清楚如何创建一个会破坏 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 函数。 您有两种选择:

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

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

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

每个人都在说 AJAX。如果您也想清理服务器端的 cookie,这将是一个好主意,但我认为如果您知道 AJAX 是什么,您可能已经使用它了......

当我第一次遇到 AJAX 时,我发现它非常令人困惑。所以我的建议是看看,也许使用jQuery的AJAX功能。只包含一个函数的 jQuery 可能有点矫枉过正,但它可能会更容易一些。

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

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