簡體   English   中英

UPDATE數據庫並更新where變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM