繁体   English   中英

PHP和JQuery:实时Cookie

[英]PHP & JQuery : Cookies in Real-Time

我不太确定这是否可能,这就是为什么我要在尝试之前询问。 这个想法是在PHP建立一个登录文件,当凭据正确时, $_COOKIE['fid']更改为login key

该文件将通过带有$.post函数的JQuery使用。

是否可以在JQueryPHP进行实时cookie刷新,因为这样的想法是,如果登录为TRUE ,则没有response ,则PHP代码应选择cookie现在已SET

PHP示例:

if(isset($_COOKIE['fid'])):
   // do something
endif;

还是这不可能,因为页面完成加载后,if语句已经返回truefalse吗?

我只是希望能够进行某种类型的后台刷新,然后再拾取PHP代码,然后执行所有实时操作。

编辑:我发现此代码进行更新,但是PHP代码将如何知道它已更新?

$('#login').click(function(){
     _gaq.push(['_trackEvent', 'viewerChose', $.cookie('whichSide')+'side']);
});

@MarcosPérezGude在“ Comments部分中解释了这实际上是不可能的。

处理更新的唯一方法是通过AJAX方法发送更新并使用响应,但是,这意味着响应必须使用JavaScript而不是PHP处理。

也许有一天他们将使这成为可能。

以可能的方式进行操作的示例-

jQuery的:

$("#login-btn").click(function(){
    $("#login-load-icon").css("display") = "block";
    $.post( "example.php", { user: "example", pass: "example").done(function(data){
        if(data == 1){
            location.reload();
        } else {
            $("#login-error").css("display") = "block";
            $("#login-load-icon").css("display") = "none";
        }
    });
});

example.php:

if(isset($_POST['user']) && isset($_POST['pass'])):
    if(strtoupper($_POST['user']) == strtoupper("This would a Database Query")):
        if($_POST['pass'] == "This would you matching the hashed pass with the hash in the DB"):
            setcookie("fid", "LOGIN KEY HERE", time()+3600, "/");
        endif;
    endif;
endif;
// etc...

然后,您在页面上进入:

if(isset($_COOKIE['fid')):
        if($_COOKIE['fid'] == $Database['login_key']):
            // get all the user details and they're logged in
        else:
            // they tried to trick your system
    else:
        // load the login-btn
    endif;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM