[英]PHP - Value of input isn't shown
我正在從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>
例如,嘗試調試此腳本:
通過在真實句中回顯,檢查腳本是否通過了if(isset($ _ coo ....)位。
在將mysql-query形成為字符串后,回顯$ select,並在phpmyadmin中進行嘗試。 檢查查詢是否沒有錯誤,以及是否以正確的方式包含了傳遞的變量。
嘗試在關閉php之前直接轉儲$ row變量?>這樣,如果結果傳遞到行變量,則不會。
這里有幾種可能性:
還有另一件事,您應該考慮更改。 您保存未加密和未編碼的密碼。 這意味着您實際上可以在Cookie中找到其他人的密碼。 這可能會產生很大的后果,因為如果用戶在其他網站上使用相同的信息,人們將可以很容易地對其進行黑客攻擊。
在執行此操作之前:
$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()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.