У меня есть форма с большим количеством полей, и мне нужно, чтобы данные формы были в одном массиве

У меня есть форма с большим количеством полей, и мне нужно, чтобы данные формы были в одном массиве.

Например: предположим, что имена полей формы name, username, passwordи т.д., и мне нужно получить все эти поля внутри массива с именем $user нравится это:

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

Поэтому я даю имена полей формы как $user['name'] но это показывает сообщение об ошибке, как:

Имя содержит недопустимые символы. Имена должны начинаться с буквы, цифры или символа подчеркивания и содержать только буквы, цифры, цифры, символы подчеркивания («_»), дефисы («-«) и двоеточия («:»).

Может ли кто-нибудь помочь мне понять это?

-1

Решение

Назовите ваши элементы так:

user[name]
user[password]

Не использовать $ не использовать ',

$ только для переменных PHP, а не элементов формы HTML.

Включение кавычек в имя просто сделает ключи вашего массива $ _POST некрасивыми, поэтому не используйте их (очевидно, симфония не даст вам в любом случае).

Обратите внимание, без кавычек:

<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"}
}

Посмотрите, как включены обратные слэши, чтобы избежать кавычек … безобразно.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]