[英]Using PHP and MySQL to create an image selection form
我正在嘗試一種表單,當您選擇單選按鈕時,它將選擇圖像並查詢到服務器; 現在我不太確定如何實現此目標,因為當我選擇其他任何選項時,原始選項似乎都無法正常工作。 我的表格代碼(嗯。重要的部分)
<form action="update_image.php" method="post">
<input type="hidden" name="page" value="Index" />
<td><center><input name="image" type="radio" value="images/cartoon/2ofus.png" /></center></td>
<td><center><input name="image" type="radio" value="img src='images/cartoon/3lb_Bruce.png" /></center></td>
<td><center><input name="image" type="radio" value="img src='images/cartoon/bearry.png" /></center></td>
<td><center><input name="image" type="radio" value="img src='images/cartoon/Bemmer.png" /></center></td>
<input type="submit" value="Update" />
</form>
我的查詢如下:
$link = mysqli_connect("$server", "$user", "$pass", "$webdb");
$page = mysqli_real_escape_string($link, (string) $_POST['page']);
$content = mysqli_real_escape_string($link, (string) $_POST['image']);
$query = "UPDATE `pages`
SET `image`='<$image>'
WHERE `name`='$page'";
mysqli_query($link, $query);
mysqli_close($link);
?>
它不是世界上最好的,但總的來說,我認為它應該可以正常運行,但事實並非如此,因此,如果有人知道為什么它會很棒。 謝謝。
首先是原始的。 抱歉,未指定。
這是我從您的問題中了解的。 您在主頁中有一個特定的圖像,該圖像的src可從數據庫中查詢,並且可以通過您給定的形式進行更新。
將表單更改為:
<form action="update_image.php" method="post">
<input type="hidden" name="page" value="Index" />
<td><center><input name="image" type="radio" value="images/cartoon/2ofus.png" /></center> </td>
<td><center><input name="image" type="radio" value="images/cartoon/3lb_Bruce.png" /></center></td>
<td><center><input name="image" type="radio" value="images/cartoon/bearry.png" /></center></td>
<td><center><input name="image" type="radio" value="images/cartoon/Bemmer.png" /></center></td>
<input type="submit" value="Update" />
將查詢更改為:
$query = "UPDATE `pages`
SET `image`='$image'
WHERE `name`='$page'";
在索引頁面中,查詢表格頁面后,在image標記中使用結果,如:
print "<img src='{$row['image']}'/>";
一個明顯的錯誤是變量的命名,將單選按鈕的值分配給$content
,然后在查詢中使用<$image>
。 那應該只是$content
而沒有<
和>
。
除此之外,您還應該添加錯誤處理,例如mysqli_error($link)
會給您最后一個錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.