创建javascript函数以销毁php会话

创建javascript函数以销毁php会话,php,javascript,session,destroy,Php,Javascript,Session,Destroy,我很难弄清楚如何创建一个会破坏php会话的javascript函数。我有一个可点击的链接,它将调用一个名为destroyphpsess的函数。我想到目前为止还可以。现在我需要定义javascript函数。这是我到目前为止的代码 if ($_SESSION['color'] == "") { $var = "<a href='JavaScript:newPopup(\"http://www.yourfantasyfootballreality.com/register.php\");

我很难弄清楚如何创建一个会破坏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;
function destroyphpsess()
{
<?php
session_destroy();
?>
}
if($\u会话['color']==“”){
$var=“|”;
}否则{
$var=“你好,”.$\u会话['color']。“!|”;
}
echo$var;
现在我需要定义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;
function destroyphpsess()
{
<?php
session_destroy();
?>
}
函数销毁phpsess()
{
}
如果有人能帮助我的功能,我将不胜感激!
谢谢。

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

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

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


    document.cookie='PHPSESSID=;expires=Thu,1970年1月1日00:00:01 GMT;'

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


    当我第一次看到它时,我感到很困惑。因此,我建议大家看看jQuery的功能,或许可以使用它。只为一个函数包含jQuery可能有些过分,但可能会简单一些。

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

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

    为什么不使用ajax并调用一个页面,该页面将破坏会话+1,以便返回一个更好的问题!:我很确定你的意思是JavaScript运行客户端,PHP运行服务器端。+1我会使用AJAX调用中的
    session\u destroy
    。。。我从来没有想过要通过清理饼干来做到这一点,但我喜欢这个主意。这是我的另一个想法,但是的,我考虑的是所有客户端。这段代码将使会话在服务器端挂起,直到它过期。这行代码放在哪里?我会把它放在函数中吗?你会把这个代码放在你想结束会话的地方。这是javascript。因此,也许可以将其放入某种类型的注销事件处理程序中。我希望用户能够单击某个链接,并在保持在同一页面的同时立即销毁会话。那么,上面的代码将参考我已经拥有的东西到哪里去呢?