[英]UPDATE database and update where variable
我對GET函數有疑問。 我目前有一個帶有get操作的表單。 我正在使用get函數在另一個頁面中訪問該數據。 不幸的是,我在每個值上都遇到了“錯誤:未定義索引”。 閱讀了類似的問題后,我嘗試使用isset(如下所示),它消除了錯誤,但是我不確定我的數據是否存儲在變量中,因為如果我回顯這4個變量,則什么都不會顯示。 有人可以給我一個正確的方向嗎?
來自表格的數據:
while($row = mysql_fetch_array($result)) {
echo "<div class=\"addform\"><form method='GET' action=\"update.php\">\n";
echo " <input type=\"text\" value=\"".$row['tfid']."\" name=\"tfid\">\n";
echo " <input type=\"text\" name=\"fname\" value=\"".$row['fname']."\"/>\n";
echo " <input type=\"text\" name=\"lname\" value=\"".$row['lname']."\"/>\n";
echo " <input type=\"text\" name=\"hca\" value=\"".$row['hca']."\"/>\n";
echo " <input type=\"text\" name=\"file\" value=\"".$row['file']."\"/>\n";
echo " <input type=\"image\" src=\"images/update.png\" alt=\"Update Row\" class=\"update\" title=\"Update Row\">\n";
echo "<a href=\"delete.php?tfid=".$row['tfid']."\"><img title='Delete Row' alt=\"Delete\" class='del' src='images/delete.png'/></a></form></div>\n";
}
echo "</table><br />\n";
以及檢索代碼:
$tfid= isset($_GET["tfid"]) ? $_GET["tfid"] : NULL;
$fname = isset($_GET["fname"]) ? $_GET["fname"] : NULL;
$lname = isset($_GET["lname"]) ? $_GET["lname"] : NULL;
$hca = isset($_GET["hca"]) ? $_GET["hca"] : NULL;
echo $tfid;
echo $fname;
echo $lname;
echo $hca;
發布表單代碼后,我注意到問題可能是輸入的值可能為空,因為語法看起來或多或少是正確的。 通過view-source
仔細檢查這些值以確保其有效性。
編輯之前:
由於實際上未設置變量,因此會發生錯誤。 確保您的表單如下所示:
<form action="yourpage.php">
<input name="fname" type="text" />
<input name="lname" type="text" />
<input name="hca" type="text" />
<input name="tfid" type="text" />
</form>
如上所示, _GET
變量正在尋找name屬性。 在初學者中(每個人一次或多次都對此感到內this)在初學者中常見的錯誤是使用id
代替name
。 id
用於選擇器,而name
通常用於在服務器端檢索值。
要記住的事情....
正如@George Cummins所提到的,您還應該知道$_GET
參數是通過URL傳遞的,如下所示:
http://yoururl.com?var1=data1&var2=data2
在某些情況下,您可能不希望用戶看到通過表單發送的所有數據,因此在這種情況下,您將需要使用$_POST
,這實際上是表單數據的隱藏傳遞 。 實際上,這些數據並不是真正的隱藏,但肯定比$_GET
的使用更隱藏。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.