我正在从mysqlserver行项目中检索数据到输入文本框的值,但是在页面加载时没有显示该值。我似乎无法获得输入框的值来显示。谁知道出了什么问题?
<?php
if(isset($_COOKIE["email"]))
{
$emailAddress = $_COOKIE["email"];
$password = $_COOKIE["password"];
include('connectDB.php');
$select = "SELECT * FROM P_Profile WHERE P_EmailAddress = '$emailAddress' AND P_Password='$password'";
mysql_select_db("lotusbs", GetConnection()) or die(mysql_error());
$result = mysql_query($select) or die(mysql_error());
$row = mysql_fetch_array($result)
?>
<div class="signupcontainer">
<div class="contentsignup" style="margin-top:20px;">
<div class="textboxsignup"><span class="signuptbspan" style="Display:none;">First name</span><input value="<?php echo $row['P_FirstName'];?>" name="txtfirstname" id="txtfirstname" type="text"/></div>
<div class="signupinfo">Enter first name</div>
<div class="signupinfoerror">Must Enter first name</div>
答案 0 :(得分:1)
尝试调试此脚本,例如:
检查脚本是否通过在true-clause中回显来传递if(isset($ _ coo ....)位。
echo $ select,在mysql查询形成为字符串后,在phpmyadmin中尝试这个。检查查询是否没有错误以及传递的变量是否以正确的方式包含。
尝试在关闭php之前转储$ row变量吗?&gt;这样,如果将结果传递给行变量,则不会。
答案 1 :(得分:1)
这里有几种可能性:
还有一件事你应该考虑改变。您使用cookie保存未加密和未编码的密码。这意味着您实际上可以在cookie中找到人们的密码。这可能会产生很大的影响,因为如果用户在其他网站上使用相同的信息,人们可以很容易地破解它们。
答案 2 :(得分:1)
在此之前:
$row = mysql_fetch_array($result)
您应该始终检查查询是否通过执行以下操作从表中提取了任何行:
if (mysql_num_rows($result)) {
// fetch the rows here and do other stuff
}
else {
echo "Record was not found !";
}
将告诉您查询返回的一些记录。如果您将输出显示为“未找到记录”,那么您的SQL查询会出现问题。此外,mysql_fetch_array()
会为您提供一个数组,该数组将作为$row[0]
进行访问。如果要将其作为关联数组(如$row['P_FirstName']
)进行访问,则需要调用函数mysql_fetch_assoc()
。