通过提交表单中的多个<select>标签收集和回复提交?</select>

时间:2014-05-23 21:42:42

标签: php forms mysqli

我的基本目标是&#34;捕获&#34;三个菜单(年,月,日)中的三个值,并在提交表单指向的下一页上打印它们。我一整天都在努力想办法做到这一点 - 没有任何运气,我只能设法打印这三个价值中的一个。

我的选择菜单的缩写版本:

<form action="processform.php" method="POST">
<select name="birthdate_year[ ]">
 <option value="2003">2003</option>
 <option value="2004">2004</option>
 <option value="2005">2005</option>
</select>

<select name="birthdate_month[ ]">
 <option value="01">January</option>
 <option value="02">Feburary</option>
 <option value="03">March</option>
</select>

<select name="birthdate_day[ ]">
 <option value="01">01</option>
 <option value="02">02</option>
 <option value="03">03</option>
</select>

<input type="submit" value="Submit">
</form>

...以下显示了我如何设法只获得一个值才能成为一个数组:

 foreach( $_POST['birthdate_year'] as $year ) /*Neither &&/|| work, and I cannot "add" to it or add another "foreach" */
     {
       print $year;
     }

我一直在网上寻找一种方法 - 唯一可行的方法是&#34; foreach&#34;,它只能看似将一个值转换为一个数组(它赢得了#t; t接受&#34; AND&#34;陈述,或者就此而言,接受另一个&#34; foreach&#34;)。

我想要的只是让每个输入的值成为它自己的数组 - 所有人都需要被多次访问才能完成程序的功能(如果用户是在上面还是下面,则进行计算截止年龄和存储他们的出生日期,以便以后检查,当他们变得足够大时)

存储年龄和确定年龄的计划&#34; group&#34;已经写好了 - 现在我只需要每个值成为它自己的数组。

找到解决方案

出于某种原因,它不会接受多个&#34; foreach&#34;声明,如果他们没有以某种奇怪的方式下降 - 所以现在他们正在这样做,它的确有效。

1 个答案:

答案 0 :(得分:0)

你想要的是:                2003      2004年      2005年     

<select name="birthdate[month]">
 <option value="01">January</option>
 <option value="02">Feburary</option>
 <option value="03">March</option>
</select>

<select name="birthdate[day]">
 <option value="01">01</option>
 <option value="02">02</option>
 <option value="03">03</option>
</select>

<input type="submit" value="Submit">
</form>

请注意,索引没有引号。在执行此操作时,您必须检查以下变量:

$_POST['birthdate_month'][0]
$_POST['birthdate_day'][0]
$_POST['birthdate_year'][0] 

这不太好。