Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php HTML选择仅返回第一个选项_Php_Html_Codeigniter - Fatal编程技术网

Php HTML选择仅返回第一个选项

Php HTML选择仅返回第一个选项,php,html,codeigniter,Php,Html,Codeigniter,我在同一个页面上有几个HTML下拉列表,它们在稍微不同的上下文中使用。它们都使用相同的选项数据,这些数据存储在从数据库查询构建的php变量中,并从该变量中回显 我遇到的问题是,一个运行并返回所选值,而另一个只返回第一个选项的值 这是我对有效的一个的标记: <select name="Home_State" id="Home_State"> <?php echo $states;?> </select> <option value="1">AL

我在同一个页面上有几个HTML
下拉列表,它们在稍微不同的上下文中使用。它们都使用相同的选项数据,这些数据存储在从数据库查询构建的php变量中,并从该变量中回显

我遇到的问题是,一个运行并返回所选值,而另一个只返回第一个选项的值

这是我对有效的一个的标记:

<select name="Home_State" id="Home_State">
  <?php echo $states;?>
</select>
<option value="1">AL</option><option value="2">AK</option><option value="4">AZ</option><option value="5">AR</option><option value="6">CA</option><option value="8">CO</option><option value="9">CT</option><option value="10">DE</option><option value="11">DC</option><option value="12">FL</option><option value="13">GA</option><option value="15">HI</option><option value="16">ID</option><option value="17">IL</option><option value="18">IN</option><option value="19">IA</option><option value="20">KS</option><option value="21">KY</option><option value="22">LA</option><option value="23">ME</option><option value="24">MD</option><option value="25">MA</option><option value="26">MI</option><option value="27">MN</option><option value="28">MS</option><option value="29">MO</option><option value="30">MT</option><option value="31">NE</option><option value="32">NV</option><option value="33">NH</option><option value="34">NJ</option><option value="35">NM</option><option value="36">NY</option><option value="37">NC</option><option value="38">ND</option><option value="39">OH</option><option value="40">OK</option><option value="41">OR</option><option value="42">PA</option><option value="44">RI</option><option value="45">SC</option><option value="46">SD</option><option value="47">TN</option><option value="48">TX</option><option value="49">UT</option><option value="50">VT</option><option value="51">VA</option><option value="53">WA</option><option value="54">WV</option><option value="55">WI</option><option value="56">WY</option>

返回第一个选项的值,而不管选择了哪个选项。

啊,我刚刚设法解码了您实际提出的问题,因为问题很不清楚

第一个选项指的是HTML的第一块(已重复,稍后在页面中使用不同的名称/id),而不是第一个
标记

实际上我已经编写了一个测试程序,有尾随/、没有尾随/、有默认选项(如
AZ
),但我仍然无法让它只返回第一个select标记中的选项。当I
print\r($\u POST)
时,它们返回单独的ID

因此,我相信你的问题可能在别处



.....

如果第一次选择的尾随/修复了它,请在短期内这样做,直到你能弄清楚到底发生了什么。在你没有陷入困境之后,集中精力解决这个谜团。此外,对于multiselect,我认为您的name属性的末尾应该有[],以指示它将包含一个值数组,即name=“Mail\u State[]”一些内容:

  • 您的第一次选择在开始标记的末尾包含一个
    /
    。这将影响数据的提交方式
  • 可以发布页面的最终HTML(PHP的输出)吗。您所拥有的没有多大帮助,因为我们不知道选择中的选项是什么。还包括表单表
  • 检查是否存在同名的任何其他字段
  • 尝试在您要提交的页面顶部执行
    print\r($\u REQUEST)
    ,以查看值。(您使用的类可能也不支持倍数。)

我没有完全理解错误,但似乎您正在使用CodeIgniter,为什么不使用its,这可能会使您的代码更容易,也可能会解决问题

在控制器中尝试以下操作:

$Home_State = $this->input->post('Home_State');
$Mail_State = $this->input->post('Mail_State');
在你看来:

echo form_dropdown('Home_state', $states, $Home_State);
echo form_dropdown('Mail_State', $states, $Mail_State);

是否有其他表单输入在表单中也具有相同的名称?我有时也会这样。我忘了在复制和粘贴多个表单输入后,我没有更改其他表单名称。

其他下拉列表是否可能在表单之外声明?

能否为每个代码段包含生成的HTML输出外观?第一个“”后面的/是XHTML以关闭标记(主要对“
”和“
”有用)-因此,没有列出选择选项,只列出了不好的XHTML。我没有注意到我远程了/并且该选项仍然有效。也可以从您的问题中删除它。请不要劫持我的问题我没有注意到我在开始标记中有一个/,我删除了它并且该选项仍然有效
 $Mail_State = $this->input->post('Mail_State');
 echo $Mail_State
<select name="var[]" multiple="yes">
.....
</select>
$Home_State = $this->input->post('Home_State');
$Mail_State = $this->input->post('Mail_State');
echo form_dropdown('Home_state', $states, $Home_State);
echo form_dropdown('Mail_State', $states, $Mail_State);