使用PHP和MySQL创建图像选择表单

时间:2012-10-09 00:53:05

标签: php mysqli

我正在尝试使用一个表单,当您选择单选按钮时,它将选择图像并查询服务器;现在我不太确定如何实现这一点,因为当我选择其他任何其他原件时,它似乎不起作用。 我的表格代码(嗯。重要部分)

<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);

?>

这不是世界上最好的,但总的来说我认为它应该扎实地运作,但它没有,所以如果有人可能知道为什么它会很棒。感谢。

第一个是原版。很抱歉没有指定。

2 个答案:

答案 0 :(得分:0)

这是我从你的问题中理解的。您在主页中有一个特定的图像,其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'";

在索引页面中,查询表格页面后,使用图像标记中的结果,如:

 print "<img src='{$row['image']}'/>";

答案 1 :(得分:0)

一个明显的错误是命名变量,您将单选按钮的值分配给$content,然后在查询中使用<$image>。如果没有$content<,那就应该是>

除此之外,你应该添加错误处理,例如mysqli_error($link)会给你最后一个错误。