Серийные скобки jQuery [] От публикации имени формы до переполнения стека

Я сериализирую данные формы, входные имена содержат квадратные скобки, т.е.

когда я сериализую его с помощью jquery, чтобы отправить его в мой php-файл для обработки, это выглядит так — test% 5Btesting% 5D = некоторый ввод. Мой php-файл на сервере не видит этих имен, когда я пытаюсь получить его:
echo $ _POST [‘test [testing]’];

если я пытаюсь просто получить информацию, используя проверку имени, она отображается в виде массива. Как мне сказать php, что скобки являются частью имени поля?

<input name="test[testing]">
echo $_POST['test[testing]'];

Мой php-файл на сервере не видит эти имена, когда я пытаюсь получить его

0

Решение

Особые случаи PHP в квадратных скобках в данных POST и GET.

Доступ к нему с помощью:

$_POST['test']['testing']

Это позволяет вам создать форму с данными, которые PHP будет десериализовать в структуру вложенного массива / ассоциативного массива, которую ваш серверный код может перебирать.

Некоторые другие библиотеки обработки форм приняли этот формат, например, Тело-парсер Express.js библиотека имеет необязательный расширенный режим, который поддерживает это.

PHP не имеет встроенной поддержки для построения плоской структуры данных (где $_POST['test[testing]'] будет работать), но вы можете прочитать необработанные данные с помощью:

$post_body_string = file_get_contents("php://input");

… А затем напишите свой собственный анализатор данных в виде URL-адреса.

1

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector