Php $\u POST、图像表单和mysql。如何让它们协同工作?

Php $\u POST、图像表单和mysql。如何让它们协同工作?,php,mysql,html,forms,function,Php,Mysql,Html,Forms,Function,我正在努力让网站正常运行。我看到的基本上是两张显示的图像(随机,从mySQL数据库中取出)。我需要做的是(当用户单击其中一个图像时)执行以下操作: 更新页面,传递关于所选图像的信息(提交表单) 向数据库中添加一条数据(向上投票) 我需要使用$\u POST将一个值数组传递到下一页。所以我想: <form name="input" action="the_page.php" method="POST"> <input type="image" name="im

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

  • 更新页面,传递关于所选图像的信息(提交表单)
  • 向数据库中添加一条数据(向上投票)
我需要使用$\u 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数据库上对所选图像进行upvote。上传投票过程在加载新页面时完成。由此,我有几个问题:

  • 我猜这些图像会起到按钮的作用,对吗?(他们应该提交表单,从而刷新页面)。如果没有,我如何才能做到这一点?我无法使用链接执行此操作(因为我无法向其添加值)。也许是javascript函数?但我也不知道如何以这种方式提交表格
  • 重新加载页面后,是否意味着只提交了一个表单中的数据,这样我就可以通过调用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']);
    }
    ?>
    

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

    要抽象多个值,可以使用PHP分解表单结果,它将返回一个值数组

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

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

    您是先尝试的吗?这是一个很好的方法,看看它是否有效。我们无法帮助你修复一些没有首先尝试过的东西。你可以用AJAX很快做到这一点,而且,我认为这是我在发布之前尝试过的最简单的方法。数组一开始不起作用,所以我使用了隐藏输入。我仍然无法完成提交表格的工作
    $('input[name="selectedImage"]').change(function() {
        $('form[name="input"]').submit();
    });
    
    $selectedImageValues = array();
    $selectedImageValues = explode(",", $_POST['selectedImage']);