【问题标题】:Won't recognise my User ID session cookie when trying to insert it into a database尝试将其插入数据库时​​无法识别我的用户 ID 会话 cookie
【发布时间】:2013-12-19 10:09:46
【问题描述】:

我有一个客户详细信息表格,我想将其插入到我的客户表中。插入不起作用,但我通过将 $user_ID 更改为“1”,然后将其成功插入数据库,确定是会话 cookie 有问题。我非常感谢帮助确定我在设置或调用会话 cookie 时出错的地方,或者我应该怎么做才能让它工作。谢谢。

在登录时设置会话 cookie:

$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();

将会话cookie分配给php中的变量:

session_start();
$user_ID = $_SESSION['User_ID'];

使用的插入代码:

    INSERT INTO Customer (User_ID, Forename, Surname, Address1, Address2, Town, Country, Postcode, Phone_No, Mobile, dob, Emergency_Name, Emergency_Number, Nationality, Profession, Academic_Qual, Volunteer_Reason) 
VALUES ('$user_ID', '$regForename', '$regSurname', '$regAddress1', '$regAddress2', '$regTown', '$regCountry', '$regPostcode', '$regPhone', '$regMobile', '$regDOB', '$regEmergencyName', '$regEmergencyPhone', '$regNationality', '$regProfession', '$regQualification', '$regVolunteer')";

我尝试了 sql 代码的回显,但 User_ID 为空白,因此根本无法获取它。非常感谢您的帮助。

【问题讨论】:

    标签: php mysql session-cookies


    【解决方案1】:

    根据你的描述,'echo' SQL 时,User_ID 为空,你需要检查变量 $user_ID 是否有值,还要检查表 Customer 字段 Use_ID 的类型,是 int 还是 varchar?它可以为空吗?它是独一无二的吗?如果您不知道我在说什么,您可以发布您的表格结构。

    【讨论】:

    • 它的 int(4),和 account 表中的一样。 Customer 中的 User_ID 不能为空,它不是唯一的。我认为这是错误的实际会话cookie,而不是表。非常感谢您的回复。
    • 你可以使用这段代码:var_dump($_SESSION) 或 isset($_SESSION['User_ID']) 来检查会话数组,找出问题所在
    猜你喜欢
    • 1970-01-01
    • 2013-01-20
    • 1970-01-01
    • 2013-02-01
    • 2015-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多