尝试将其插入数据库时​​,无法识别我的用户ID会话cookie

时间:2013-12-03 11:18:17

标签: php mysql session-cookies

我有一个客户详细信息表单,我试图插入到我的Customer表中。插入不起作用,但我已经确定它是错误的会话cookie,通过将$ user_ID更改为'1'然后它成功插入到数据库中。我非常感谢帮助确定我在设置或调用会话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是空白的,所以根本没有获得它。真的很感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

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