【问题标题】:post input correctly from 2D array of input type=checkbox in PHP从 PHP 中输​​入类型 = 复选框的二维数组正确发布输入
【发布时间】:2014-05-19 09:53:56
【问题描述】:

我有一个 2D 表单数组,method=POST,我想在其中使用输入 type=checkbox 获取某个主题有课程的日期。

<input type='text' name='subject[]' />
<label> <input type='checkbox' name='monday[]' value='M'>M</label>
<label> <input type='checkbox' name='tuesday[]' value='T'>T</label>
<label> <input type='checkbox' name='wednesday[]' value='W'>W</label>
<label> <input type='checkbox' name='thursday[]' value='Th'>Th</label>
<label> <input type='checkbox' name='friday[]' value='F'>F</label>
<label> <input type='checkbox' name='saturday[]' value='Sa'>Sa</label>
<input type='text' name='subject[]' />
<label> <input type='checkbox' name='monday[]' value='M'>M</label>
<label> <input type='checkbox' name='tuesday[]' value='T'>T</label>
<label> <input type='checkbox' name='wednesday[]' value='W'>W</label>
<label> <input type='checkbox' name='thursday[]' value='Th'>Th</label>
<label> <input type='checkbox' name='friday[]' value='F'>F</label>
<label> <input type='checkbox' name='saturday[]' value='Sa'>Sa</label>

并使用以下输入(2 行): {主题 1,M} {主题 2 T,W} 我期望 PHP 将 $_POST 变量获取为:

  'subject' => 
    array (size=2)
      0 => string 'Subject1' (length=8)
      1 => string 'Subject2' (length=8)
  'monday' => 
    array (size=1)
      **1 => string 'M' (length=1)**
  'tuesday' => 
    array (size=1)
      0 => string 'T' (length=1)
  'wednesday' => 
    array (size=1)
      0 => string 'W' (length=1)

^结果来自 var_dump($_POST);但它获取为:

'subject' => 
    array (size=2)
      0 => string 'Subject1' (length=8)
      1 => string 'Subject2' (length=8)
  'monday' => 
    array (size=1)
      **0 => string 'M' (length=1)**
  'tuesday' => 
    array (size=1)
      0 => string 'T' (length=1)
  'wednesday' => 
    array (size=1)
      0 => string 'W' (length=1)

我应该怎么做才能正确获取值?

【问题讨论】:

  • 你为什么把所有的复选框命名不同?
  • Y 不要像&lt;input type='checkbox' name='days[]' value='M'&gt;M&lt;/label&gt;一样整天使用一个数组???
  • 如果我使用name='days[]',它会产生`'days' => array (size=3) 0 => string 'M' (length=1) 1 => string 'T' (length =1) 2 => 字符串 'W' (长度=1)`

标签: php html forms


【解决方案1】:

将所有checkbox 名称更改为days[],并在您的php 文件中使用此代码$_POST['days']。这将返回所有选定的值。

【讨论】:

  • 这将返回值作为`'days' => array (size=3) 0 => string 'M' (length=1) 1 => string 'T' (length=1) 2 => string 'W' (length=1)` 但代码 sn-p 仅用于一行。但代码是用于二维表单数组
  • 使用这个print_r($_POST['days'])vardump 显示值及其数据类型 php.net/manual/en/function.var-dump.php
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-25
  • 2020-05-22
  • 2017-08-01
  • 1970-01-01
  • 2015-10-15
  • 1970-01-01
相关资源
最近更新 更多