Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jQuery函数事件上启动PHP会话_Php_Javascript_Session_Session Variables - Fatal编程技术网

在jQuery函数事件上启动PHP会话

在jQuery函数事件上启动PHP会话,php,javascript,session,session-variables,Php,Javascript,Session,Session Variables,我有一个简单的jQuery函数,在某一点上(比如点击按钮),我想启动一个PHP会话 $(document).ready(function() { $(".loginPopupButton").click(function(){ //here I'd need a way to trigger the session. }); }); 我假设从PHP启动会话与更改PHP变量一样容易。例如,PHP可以是: <?p

我有一个简单的jQuery函数,在某一点上(比如点击按钮),我想启动一个PHP会话

    $(document).ready(function() {
        $(".loginPopupButton").click(function(){
            //here I'd need a way to trigger the session.
        });
    });
我假设从PHP启动会话与更改PHP变量一样容易。例如,PHP可以是:

    <?php
        $testVar = null;
        if(isset($testVar)){
            session_start()
            $_SESSION['sessionStarted'] = $testVar;
        }

    ?>

是否有启动此类会话的方法

   <?php
    session_start();

    if(isset($_GET['login'])) { 
        if(isset($_SESSION['sessionStarted'])) {
            echo 'session is already set';
        } else {
            $_SESSION['sessionStarted'] = $testVar;
        }
    }
    ?>

然后,您可以添加类似php的检查,如果存在会话,则不要回显LoginPoppup按钮等等:)

php代码不在客户端运行,您需要使用JQuery向服务器发送消息以初始化会话-查看JQuery Ajax您最好向服务器发送请求。不要在同一脚本中混合使用服务器和客户端代码。你读过很多关于ajax的书吗?点击触发一些重定向,比如index.php?session=true,然后if($\u GET['session']='true'){session_start();…}顺便说一句。你忘记了session_start()中的分号;干杯,伙计们,我认为阿贾克斯是这里的关键,我现在正在研究它。我不确定是否要添加到URL@WigglerJtag-这是否意味着用户无需单击按钮即可启动会话,而是直接输入URL?如果(isset($_SESSION['sessionStarted']){echo'会话已经启动了u hax0r';}谢谢你,那就不太理想了!如果我使用JS将
login
设置为
true
,我可以看到这是如何工作的。我现在正试图弄清楚如果我想进行Ajax调用,Ajax会是什么样子,我会在php中检查什么,而不是
isset($\u GET['login'])
您的目标是始终调用$\u GET或$\u POST(无所谓),然后您可以在服务器端执行所有操作(安全可靠)好的,但是实际的语法看起来如何?使用Ajax我会发送什么?我如何在服务器端检查它?抱歉,如果这些是n00b问题,这是我第一次处理Ajax。抱歉,我已经向您发布了将近90%的脚本,如果您无法通过google实现10%,那么生活将很艰难^^^首先尝试理解POST并通过普通HTML获取,然后当您了解它的工作原理时,您就能够知道通过jQuery调用什么。如果你想做一些语法工作,请在自由职业者上找个人:实际上,我需要的是Ajax。你发布的代码和我一开始的问题差不多。不过,关于谷歌的电话是公平的。
$(document).ready(function() {
    $(".loginPopupButton").click(function(){
        //code to redirect to index.php?login=true or make some ajax GET call, doesnt matter
    });
});