Массив в GET запросе - подмена!

ВS
На сайте с 03.12.2009
Offline
52
1047

Такой вопрос. Каким образом исключить замену символа "[" и "]" в строке урл?

Имеется форма

<form action="search.html" method="get">

<input class="styled" type="checkbox" name="'char['key1']" />

<input class="styled" type="checkbox" name="'char['key2']" />

....

при нажатии на кнопку приходим к урл search.html?char%25255Bkey1%25255D=on&%25255Bkey2%25255D=on....

а должно быть search.html?char[key1]=on&char[key2]=on....

выходит что символы квадратных скобок заменены и соответственно параметр "char" пуст.

Что может быть причиной такой хуетории?

PavelWershinin
На сайте с 23.10.2010
Offline
9
#1

а куда столько кавычек? одинарные, перед char и квадратных скобках, явно лишние

XR.CMS - система управления сайтами (https://xr-cms.ru)
S
На сайте с 28.10.2005
Offline
319
#2

> При кодировании URL, все не входящие в набор ASCII символы, заменяются знаком "%", за которым следуют две шестнадцатеричные цифры, соответствующие символам из набора ISO-8859-1

К чему вам квадратные скобки в урл вообще?

DeveloperRu
На сайте с 27.02.2009
Offline
72
#3

писать нужно так

<input class="styled" type="checkbox" name="char[key1]" />

при этом в скрипте вы будете получать нормальные массивы

Ответы на вопросы (http://telenok.com)
ВS
На сайте с 03.12.2009
Offline
52
#4

<input class="styled" type="checkbox" name="char[key1]" />

именно так и пишу, в примере опечатки )

там получились двойные скобки в виде char[[key]], и соответственно вышло char%25255Bkey1%25255D=on Но это просто моя ошибка.

Сейчас выдает просто char%255Bkey1%255D=on

Сделал разбор урла и преобразование в массив функциями php - тупо но работает.

В чем проблема, так и не понял...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий