[英]PHP Form Value Submit Query
我希望这是一件很简单的事我错过或做得不好。
它涉及从表单上的1个提交按钮发布两个结果。
没有发送大量的代码,这里有关键:(这是表中的一系列提交按钮)
<td><input type=\"hidden\" name=\"query\" value=\"$query1\"><input type=\"submit\" name=\"Submitano\" value='$aa'></td>
<td><input type=\"hidden\" name=\"query\" value=\"$query2\"><input type=\"submit\" name=\"Submitano\" value='$ab'></td>
<td><input type=\"hidden\" name=\"query\" value=\"$query3\"><input type=\"submit\" name=\"Submitano\" value='$ac'></td>
然后在我使用的其他结果页面上:
$s1=$_POST['Submitano'].$_POST['query'];
问题是,当我点击相关的提交按钮时,它会通过所选的正确POST ['Submitano'](即$ aa或$ ac),但它总是会通过最后一个查询 - $ query3而不是查询附在提交中。 (即$ aa应该通过$ query1,但它通过$ query3)
我怀疑它与我点击提交时有关,它提交了['Submitano']而不是['query'],所以下一页只是选择最后输入的查询。 如果是这样,有人可以建议我如何通过1提交发布两位数据(一个隐藏,一个看到)?
希望这是有道理的。
谢谢
保罗
感谢所有的评论。 这就是我想要做的,但也许我应该以完全不同的方式做到这一点?
屏幕1 - 3 - 用户在传递到屏幕4的每个页面上选择一个变量。
屏幕4 - 读取上述3个变量并将其输入25个预设的Mysql查询并运行(即查询1,查询2等),但每个查询的元素略有不同,从而产生25个不同的答案。
这25个查询的结果存储在25个变量$ aa,$ ab等中。
将设置一个表单,显示这25个查询的结果,每个答案都显示在提交按钮中。 (即我编码'Value = $ aa'的位置,用户可以看到该查询的答案,即'73',然后点击它)。
(用户基本上需要根据他们在前3页中的选择看到25个不同的答案,然后选择他们想要了解的答案。)
第5页 - 此页面需要知道用户点击了哪个按钮,但更重要的是他们选择了哪个查询,但我的问题是它只通过值提供,而不是前面生成该值的查询。
关于以不同的方式命名每一个,我试过了,但它是如何在第5页上找到它的问题。 我接受它我需要25个预设的$ _POST's? 问题是它不喜欢其他24个未使用的$ _POST。 我甚至尝试将它们放在一个elseif循环中,但没有快乐。
但是,这个解决方案确实和答案在某种程度上?
另外,有几个人建议使用数组,但由于我对数组不太热,我不确定他们如何解决这个问题?
如果数组是答案,那么关于设置的更多信息,或者更具体地说,我如何在第5页上提取正确的数据将会很棒?
再次感谢。
保罗
它们不应该有相同的名称。 由于它们采用相同的形式,因此最后一个值会覆盖其他值。
如果您只有这六个项目,您可能还会以三种不同的形式将它们包装起来。
名称应该是唯一的。 由于所有隐藏的输入都被命名为“查询”,因此只提交了最后一个。
您的表单项具有相同的名称。 这意味着他们的价值会有效地“覆盖”彼此。 根据浏览器的不同,第一个或最后一个值将发布到您的页面。
要修复它,您可以:
1)给他们不同的名字。
<input type=\"submit\" name=\"Submitano1\" value='$aa'>
<input type=\"submit\" name=\"Submitano2\" value='$aa'>
<input type=\"submit\" name=\"Submitano3\" value='$aa'>
2)将它们命名为数组。
<input type=\"submit\" name=\"Submitano[]\" value='$aa'>
<input type=\"submit\" name=\"Submitano[]\" value='$aa'>
<input type=\"submit\" name=\"Submitano[]\" value='$aa'>
第二个选项将允许您访问$ _POST ['Submitano'] [0](以及1和2),它将把所有的Submitano项目放入一个数组中。 如果您使用大量这些项目,第二种方法会更有帮助。
如果需要,有关您正在做什么的更多信息将有助于提供更具体的建议。
您应该以数组的形式命名元素:
<input type="text" name="query[]" value="whatever" />
提交按钮的情况与下一页使用相同索引的情况相同。
编辑:如果您的要求是从多个屏幕收集数据,我建议您使用$_SESSION
变量。 http://php.net/manual/en/book.session.php
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.