gpt4 book ai didi

php - $_POST、图像表单和mysql。如何让它们一起工作?

转载 作者:行者123 更新时间:2023-11-29 14:31:27 24 4
gpt4 key购买 nike

我正在尝试让网站正常运行。我所显示的基本上是两个图像(随机,从 mySQL 数据库中取出)。我需要做的是(当用户单击其中一张图像时)以下内容:

  • 更新页面,传递有关所选图像的信息(提交表单);
  • 向数据库添加一条数据(为图片投票)

我需要使用 $_POST 将值数组传递到下一页。所以我想:

<form name="input" action="the_page.php" method="POST">
<input type="image"
name="img"
src="image.png"
value ="dat1[\"data1\",\"data2\",\"data3\"]">
<!-- If value must be a single string, I'll use hidden inputs-->
</form>

<form name="input" action="the_page.php" method="POST">
<input type="image"
name="img"
src="image2.png"
value ="dat2[\"data1\",\"data2\",\"data3\"]">
</form>

然后我可以使用一个更新记录的 PHP upvote() 函数在 mySQL 数据库上对选定的图像进行投票。加载新页面时完成投票过程。由此,我有几个问题:

  1. 我猜这些图像将充当按钮,对吧? (他们应该提交表单,因此刷新页面)。如果没有,我怎样才能实现这一目标?我无法使用链接来完成此操作(因为我无法向其中添加值)。也许是一个 JavaScript 函数?但我也不知道如何以这种方式提交表单...
  2. 页面重新加载后,是否意味着仅提交了一个表单的数据,因此我只需调用 PHP 变量 $_POST['img'] 即可检索数据并返回一个数组?<

编辑:我现在设法让一切正常工作,与我最初提出的稍微相似。不过,还是感谢您的 AJAX 建议,因为它帮助我解决了这个问题(查找了 AJAX 教程,找到了解决方案)。

这是我的解决方案:

<?php
echo "<form name=\"input\" action=\"F2F.php\" method=\"POST\">";
echo "<input type=\"hidden\" name =\"table\" value=\"".$table1."\">";
echo "<input type=\"image\" name=\"nom\" src=\"".$IMG_Route1."\" value =\"".$Nom_base1."\" border=\"0\">";
echo "</form>";
?>

(图像所在的位置)

然后在标题上:

<?php
if ($_POST['nom']||$_POST['nom_x']){
if (!$_POST['nom']){
echo 'Could not retrieve name. $_POST[\'nom_x\'] = '.$_POST['nom_x']. mysql_error();
exit;
}
if (!$_POST['table']){
echo 'Could not retrieve table. $_POST[\'table\'] = '.$_POST['table']. mysql_error();
exit;
}
upvote($_POST['table'],$_POST['nom']);
}
?>

最佳答案

您可以使用一个表单和一组单选按钮来稍微简化事情。单击标签将切换单选按钮。您可以使用逗号分隔每个复选框的多个值,然后您可以稍后对其进行抽象(见下文)

<form name="input" action="the_page.php" method="POST">
<ul>
<li>
<label>
<img src="whatever.jpg" />
<input type="radio" name="selectedImage" id="img1" value="12,16,19" />
</label>
</li>
<li>
<label>
<img src="whatever2.jpg" />
<input type="radio" name="selectedImage" id="img2" value="12,16,19" />
</label>
</li>
</ul>
</form>

您可以通过添加更改事件的监听器来检测何时选择单选按钮,然后提交表单。

$('input[name="selectedImage"]').change(function() {
$('form[name="input"]').submit();
});

要抽象多个值,您可以使用 PHP 分解表单结果,这将返回值的数组。

$selectedImageValues = array();
$selectedImageValues = explode(",", $_POST['selectedImage']);

从那里您可以提取不同的值并将数据保存到数据库中。

关于php - $_POST、图像表单和mysql。如何让它们一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9949652/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com