我有一个客户详细信息表单,我试图插入到我的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是空白的,所以根本没有获得它。真的很感谢你的帮助。
答案 0 :(得分:0)
根据你的描述,当'echo'SQL,User_ID为空时,你需要检查变量$ user_ID是否有值,还应检查表Customer字段Use_ID的类型,它是int还是varchar?它可以为空?它的独特之处?如果您不知道我说什么,您可以发布您的表结构。