post中的codeigniter关联阵列

post中的codeigniter关联阵列,codeigniter,webforms,Codeigniter,Webforms,我通常在表单中命名db特定字段,如“objectname[columnname]”,我无法使用$this->input->post('objectname[columnname]”访问这些值,我该怎么办?我根本不可能重命名100多个表单域。。实际上,我不喜欢CI,它确实通过改变事实上的PHP规范阻碍了进展…我似乎可以依赖$u POST变量,但我认为这是重置的?我似乎可以依赖$u POST变量,但我认为这是重置的?你是在使用$u POST['objectname[columnname]]]还是$u

我通常在表单中命名db特定字段,如“objectname[columnname]”,我无法使用$this->input->post('objectname[columnname]”访问这些值,我该怎么办?我根本不可能重命名100多个表单域。。实际上,我不喜欢CI,它确实通过改变事实上的PHP规范阻碍了进展…

我似乎可以依赖$u POST变量,但我认为这是重置的?

我似乎可以依赖$u POST变量,但我认为这是重置的?

你是在使用
$u POST['objectname[columnname]]]
还是
$u POST['objectname']['columnname']

你试过后者的等效物吗

$obj = $this->input->post('objectname');
echo $obj['columnname'];
?


如果它有效,您可以编写自己的帮助程序来检索它,比如
post\val('objectname[columnname')

,您是否使用
$\u post['objectname[columnname]]]
$\u post['objectname']['columnname']

你试过后者的等效物吗

$obj = $this->input->post('objectname');
echo $obj['columnname'];
?


如果它有效,你可以编写自己的帮助程序来检索它,比如
post\u val('objectname[columnname')

我只是像往常一样使用了$\u post['objectname']['colname']选项,尽管这可能不是CI方式。

我只是使用了$\u post['objectname']['colname']选项,就像我通常做的那样,即使这可能不是CI方式。

您可以将post数组强制转换为对象,并使用方法链接来返回子数组(现在是属性),使用PHP5.3的方法链接在一行上

通过创建名为MY_input的类来扩展输入类,并将扩展类放在application/core文件夹中。CI 2.0将自动使用带有MY_前缀的扩展类,并且您可以将方法添加到此新类。扩展输入类比创建助手更简洁

此方法将post数组或嵌套数组(父数组下的子数组)强制转换为对象

/* Cast an array from CI post as an object and return the object */
public function post_obj($key = null){
  $post_return = $this->post($key);
  if (false === $post_return)
    return false;
  return (object)$post_return;
}
现在,我可以使用PHP5.3的对象链接方法在一行代码中检索嵌套值

$active = $this->input->post_obj('user')->active;

您可以将post数组强制转换为对象,并使用方法链接返回子数组(现在是属性),使用PHP5.3的方法在一行上链接所有子数组

通过创建名为MY_input的类来扩展输入类,并将扩展类放在application/core文件夹中。CI 2.0将自动使用带有MY_前缀的扩展类,并且您可以将方法添加到此新类。扩展输入类比创建助手更简洁

此方法将post数组或嵌套数组(父数组下的子数组)强制转换为对象

/* Cast an array from CI post as an object and return the object */
public function post_obj($key = null){
  $post_return = $this->post($key);
  if (false === $post_return)
    return false;
  return (object)$post_return;
}
现在,我可以使用PHP5.3的对象链接方法在一行代码中检索嵌套值

$active = $this->input->post_obj('user')->active;

我在寻找类似问题时看到了这篇文章,但找到了一种CI方法来解决它,如果我要重新发布它,很抱歉,但它在谷歌的搜索结果中显示得相当高

// Load the 'array' helper
$this->load->helper('array');
// Use the 'element' function to return an element from the array
echo element('ColumnName', $this->input->post('ObjectName'));

希望这对以后来这里的人有所帮助。

我在寻找类似问题时看到了这篇文章,但找到了一种CI方法来解决它,抱歉,如果我要重新使用它,但它在谷歌搜索结果中显示得相当高

// Load the 'array' helper
$this->load->helper('array');
// Use the 'element' function to return an element from the array
echo element('ColumnName', $this->input->post('ObjectName'));
希望这对以后来这里的人有所帮助。

HTML代码:

<input type="text" value="" name="myPostArrayName[]">
<input type="text" value="" name="myPostArrayName[]">
您可以按如下顺序访问数据

echo 'Value of the first element in the form array is '.$data[0];
echo 'Value of the second element in the form array is '.$data[1];
我认为有权访问codeigniter文档的人最好添加一个简单的html后期数组处理示例。

html代码:

<input type="text" value="" name="myPostArrayName[]">
<input type="text" value="" name="myPostArrayName[]">
您可以按如下顺序访问数据

echo 'Value of the first element in the form array is '.$data[0];
echo 'Value of the second element in the form array is '.$data[1];

我认为有权访问codeigniter文档的人,最好添加一个简单的html post数组处理示例。

没问题。如果它解决了您的问题,您能接受答案吗?这样以后遇到相同问题的人都能看到它吗?除了修改CI之外,编写帮助函数将是我看到的最干净的方法。没问题m、 如果它解决了您的问题,您能接受答案吗?这样以后遇到相同问题的人都能看到它吗?编写帮助函数将是我所看到的最干净的方式,除了修改CI.CI会破坏$\u GET变量,而不是$\u POST。CI会破坏$\u GET变量,而不是$\u POST。您运行的是什么版本的CI?POST数组已经过测试从1.7版本开始支持,她使用的是1.7版本,你运行的是什么版本的CI?从1.7版本开始支持POST数组,她使用的是1.7版本,versonIt确实有效,但不是CI方式,它避免了诸如全局XSS清理之类的所有事情。它确实有效,但不是CI方式,并且避免了诸如全局XSS清理之类的所有事情。