【问题标题】:Form to submit variables from two inputs从两个输入提交变量的表单
【发布时间】:2017-09-04 15:36:24
【问题描述】:

我正在尝试在提交此表单时 $_POST 两个变量,它会在选择图像时自动提交,这很好。但它只发布图像值,而不是隐藏值,我需要发送两个变量,因此需要提交来自两个输入的变量。单独它们工作正常,如果我将隐藏的输入更改为图像,它会愉快地发布值,但同样,它们本身不是两个输入。有任何想法吗?

    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
  <?php
    $query = $conn->prepare("SELECT name, project FROM models.models where models.active = 'yes'");


    $query->execute();
    while($r = $query->fetch(PDO::FETCH_OBJ)){
    echo "
<input type='image' style='height:100px; padding:5px; margin :20px;' id='1' class='img-fluid img-thumbnail' src='models/thumbs/",$r->name,".jpg' name='name' value='",$r->name,"'/>
<input type='hidden' id='1' name='group' value='",$r->project,"'/>
    ";
    }
?>

</form>

【问题讨论】:

  • 您的 SQL 查询应该返回多少条记录?如果 >1,您的表单将中断,因为在 while() 循环中创建的所有字段都具有相同的“名称”属性值,您必须在每次迭代时以某种方式对其进行更改。
  • 大约 10 条记录,它输出正常,每个图像都有其正确的值,单击时将值发送到会话。我没有看到问题。
  • 哦,我明白了!当然!那么我该如何克服这个问题呢?通过数组?
  • 我不确定图像类型的输入是否能如您所愿,这可能解释了您所面临的问题。您希望表单提交名称和项目供用户选择吗?如果是这样,我建议您拆分内容,以便每条记录都有自己的表单和常规提交按钮(您可以使用常规图像类型或其他方式显示图像)。您仍然可以通过另一个隐藏的输入传递名称值。
  • 是的,用户选择项目的图像,图像名称和项目作为当前选择的图像/项目传递给会话变量。好的,假设我们将输入更改为一个按钮,它的值为 $r->name,并且有一个值为 $r->project 的隐藏输入和一个标准提交输入。那么它应该工作吗?

标签: php html


【解决方案1】:

一个基于我们的cmets的候选解决方案,将输入图片改为按钮,将图片显示在单独的标签中,并将列表拆分为多种形式:

<?php
$query = $conn->prepare("SELECT name, project FROM models.models where models.active = 'yes'");

$query->execute();
while($r = $query->fetch(PDO::FETCH_OBJ)){ ?>
    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

    <img style='height:100px; padding:5px; margin :20px;' src="models/thumbs/<?php echo $r->name; ?>.jpg" />
    <input type="submit" name="name" value="<?php echo $r->name; ?>" />
    <input type='hidden' id='1' name='group' value='",$r->project,"'/>
    </form>
<?php 
}
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-27
    • 1970-01-01
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-05
    相关资源
    最近更新 更多