1

我尝试了很多,但没有发现错误是什么。请详细告诉我/示例这将如何为我工作。我正在尝试为登录表单设置 cookie。这是我实现的基本步骤。

1) 用于创建登录表单的 HTML 和 CSS 代码。2) 执行 jQuery 来检查登录表单是否正确填写。在检查后,我使用 jQuery 中的 $.post 方法将表单发布到 php 文件,这将处理登录。3) 将连接到数据库的 PHP 文件。如果用户名和密码正确,那么这个 PHP 应该创建一个 cookie <-- (这不起作用)。4) 创建 cookie 后,我将用户名发送回 jQuery 文件 $.post 函数(数据)。5)如果数据不等于错误,那么它将转到members.php。如果数据 == 错误,则表示用户名/密码错误。6) 在 members.php 中,我设置了如果设置了 cookie,则显示此页面,否则显示错误。7)即使成功登录,我也总是显示错误。Cookie 未创建。

这是jQuery的代码:

$.post(url, {php_userName:userName, php_password:password},
            function(data){
                var xyz = (data);

                if (xyz == 'error'){
                    $("#submitMessage").removeClass("JQ_valid").text("");
                    $("#submitMessage").addClass("JQ_Error").text("User name or password is wrong.");
                }else{
                    window.location.replace("members.php?userName="+data);
                }
            })

这是PHP代码。(handle_login.php)

    if ($DB_UserName == $userName && $DB_password == $md5_pass){
 setcookie($userName, $userType, $expire); 
 echo $userName; 
    }
    else{ 
      echo "error" ;
    }

这是 member.php 代码:

     $userName = $_REQUEST['userName'] ;
     if(isset($_COOKIE[$userName])){
         //do this
     }else{
          //do this
      }
4

1 回答 1

0

设置cookie的格式是

setcookie(name, value, expire, path, domain);

所以尝试使用,

setcookie("cookiename",$userName,0,'/');

这将创建一个名称为给定的 cookie,而不是根 (/) 中值为 $userName 的 'cookiename'。

在 member.php 中,使用

if(isset($_COOKIE['cookiename'])){
...
}
于 2013-11-06T07:03:20.423 回答