php - 在 PHP 中设置 session cookie 时遇到问题

标签 php mysql session-cookies

我一直在尝试在成功登录后设置 session cookie。这些 cookie 部分 有效,但我在从数据库表中读取值并将其分配给 session cookie 时遇到问题

当我设置 $_SESSION["User_ID"] = 'test' 并在后面的页面中回显 session cookie 时,它​​工作正常并显示测试。但是,使用 $row["User_ID"]; 我无法让它工作 - 它不显示任何值,所以大概它没有读入值。谢谢大家。

完整登录代码:

<?php
    session_start();

    $server = "*****.com";
    $schema = "*****";
    $uid = "******";
    $pwd = "******";

    $username =$_POST["txt_username"];
    $password =$_POST["txt_password"];

    mysql_connect($server , $uid , $pwd) or die ("server not found");
    mysql_select_db($schema) or die ("Database not found");

    $sql = "SELECT User_ID, Username, Password, User_Level
            FROM Account
            WHERE Username = '$username' AND  Password = '$password'";

    $record = mysql_query($sql);
    $row = mysql_fetch_array($record);

    if(mysql_num_rows($record) == 0)
    {
        die(header("location: LoginFailed.html"));
    }
    else if(mysql_num_rows($record) == 1)
    {
        $row = mysql_fetch_array($record);
        $_SESSION["User_ID"] = $row["User_ID"];
        $_SESSION["User_Level"] = $row["User_Level"];
        header("location:Home.html");

    }
    else
    {
        $row = mysql_fetch_array($record);      
        $_SESSION["User_ID"] = $row["User_ID"];
        $_SESSION["User_Level"] = $row["User_Level"]; 
        header("location: Home.html");
    }

    mysql_close();

?>

最佳答案

在您的代码中,您调用了两次 $row = mysql_fetch_array($record);。 我认为如果您先删除 $row = mysql_fetch_array($record);,那么您的代码就可以正常工作。

关于php - 在 PHP 中设置 session cookie 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20354753/

相关文章:

cordova - 如何在 Cordova 混合应用程序中保留 rememberMe token cookie?

php - 搜索查询中的匹配问题

php - 使用 PHP 和 MySQL 管理大量读写

刷新后 MySql Workbench 存储过程丢失

php - 使用 Doctrine (DQL) 加入 Table On Self

javascript - 如何使用URL获取cookie值?

javascript - 如何使用 Passport 对我的端点进行身份验证?

php - 如何在 wordpress 中编辑默认页面?(索引页)

php - 如何从base64字符串中提取DER编码的证书

phpMyAdmin 不允许将数字转换为十进制?