【问题标题】:I have form with lot of field in and what I need is the form data should be in single array我有很多字段的表单,我需要的是表单数据应该在单个数组中
【发布时间】:2017-01-12 16:01:59
【问题描述】:

我有一个包含很多字段的表单,我需要的是表单数据应该在单个数组中。

例如:假设表单字段名称为nameusernamepassword 等,我需要将这些所有字段放入名为$user 的数组中,如下所示:

$user = array('name' => 'foo', 'password' => 'bar', ...);

所以我将表单字段名称命名为$user['name'],但它会显示如下错误消息:

名称中包含非法字符。名称应以字母、数字或下划线开头,并且只能包含字母、数字、数字、下划线(“_”)、连字符(“-”)和冒号(“:”)。

谁能帮我弄清楚?

【问题讨论】:

标签: php forms field symfony naming


【解决方案1】:

这样命名你的元素:

user[name]
user[password]

不要使用$ 不要使用'

$ 仅适用于 PHP 变量,不适用于 HTML 表单元素。

在名称中包含引号只会使 $_POST 数组上的键看起来很难看,所以不要使用它们(显然 symphony 无论如何也不会让你这样做)。

不带引号的通知:

<input type="text" name="user[name]"/>
<input type="text" name="user[password]"/>

array(1) {
  ["user"]=>
  array(2) {
    ["name"]=>
    string(11) "Super Admin"
    ["password"]=>
    string(8) "PaSsWoRd"
  }
}

单引号:

<input type="text" name="user['name']"/>
<input type="text" name="user['password']"/>

array(1) {
  ["user"]=>
  array(2) {
    ["\'name\'"]=>
    string(11) "Super Admin"
    ["\'password\'"]=>
    string(8) "PaSsWoRd"
  }
}

看看如何包含反斜杠来转义引号......丑陋。

【讨论】:

    猜你喜欢
    • 2014-11-08
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-20
    • 2017-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多