Как обработать массив $_GET

Статус
В этой теме нельзя размещать новые ответы.

Dimaz

Новичок
Приветствую всех. Подскажите как правильно обработать массив $_GET. Дело в том, что от клиента приходит url вида:
PHP:
save_data.php?answer1=2&answer2=1&answer3=2&id=1
Обрабатываю его так:
PHP:
$str = implode($_GET);
В итоге в переменную $str записывается: 2121. Но мне нужно все answer-ы занести в одно поле БД, а id=1 в другое поле. Т.е. в первое поле записать 212, а в другое 1. Как их можно разделить?
 

Фанат

oncle terrible
Команда форума
можно сделать так, чтобы приходило
PHP:
save_data.php?answer[1]=2&answer[2]=1&answer[3]=2&id=1
 

Dimaz

Новичок
А по другому никак? Просто на клиенте этот url формирует метод jQuery, serialize(). Если бы я сам его формировал, тогда другое дело.
 

Фанат

oncle terrible
Команда форума
ну или можешь забрать id, потом unset($_GET['id']) и забирать остальное массивом
 

Фанат

oncle terrible
Команда форума
я тебе сто раз говорил, что делать serialize на клиенте - идиотизм. но ты ж у нас умнее всех
впрочем, serialize совсем не мешает сделать так как я сказал
 
  • Like
Реакции: craz

Dimaz

Новичок
Не помню такого. Ты мне про метод split говорил вроде. Смотрю ты вообще jQuery не уважаешь, раз все его методы идиотизм.) Все таки эту библиотеку не дураки писали. В таком случае, что предложишь вместо него использовать?
Кстати вот описание этого метода:
Serialize()
Упорядочивает набор элементов ввода input в строку данных.
Функция serialize обычно используется для подготовки пользовательских данных в полях ввода input к отправке на сервер. Упорядоченные этим методом данные находятся в стандартном формате, который совместим с большинством серверных языков программирования и фреймворков.
Ключевая фраза, совместим с большинством серверных языков.
Другими словами он создает стандартный get запрос, который на всех сайтах используется. Везде же get запросом передают. Нет ни одного сайта наверно где не используется get запрос. Тогда почему передача get запросом идиотизм?
 

craz

Нестандартное звание
И только вот тут начинаешь понимать почему у Фаната 36000 сообщений))))))))))))
 

WMix

герр M:)ller
Партнер клуба
Dimaz
чтоб сформировать запрос так как говорит фанат,
Код:
 save_data.php?answer[1]=2&answer[2]=1&answer[3]=2&id=1
с помощью jQuery, serialize(), необходимо чтоб поля правильно назывались
PHP:
<input name="answer[1]" value="2" .../>
 

Dimaz

Новичок
Почему интересно) Давайте уже по делу лучше. Тема не о методе serialize, а о том как обработать get запрос. Я все понимаю, что всем хочется сострить как-то, доказать что-то. Но все таки давайте по теме:)
 

WMix

герр M:)ller
Партнер клуба
Dimaz
что почему? я так понял вопрос, как заставить serialize создавать правильную строку... ответ, нужно правильно называть поля!
почему так удобнее называть поля ?
PHP:
print_r($_GET['answer'])
 

Dimaz

Новичок
Dimaz
чтоб сформировать запрос так как говорит фанат, с помощью jQuery, serialize(), необходимо чтоб поля правильно назывались
PHP:
<input name="answer[1]" value="2" .../>
Хмм... Вообще идея конечно, но стандартный метод есть какой-то? Видел на многих сайтах в url-строке есть символ %. Он на что влияет? Как то наверно можно отделить одни данные от других в url-строке?
 

WMix

герр M:)ller
Партнер клуба
это стандартный метод! символ % это как раз про [ это ] и другие специальные символы!

Код:
answer[1]=2&answer[2]=1&answer[3]=2&id=1
в адресной строчке браузера
Код:
answer%5B1%5D=2&answer%5B2%5D=1&answer%5B3%5D=2&id=1
^^это как раз результат метода $.serialize() на такие поля <input name="answer[1]" value="2" .../>
 

Dimaz

Новичок
Хорошо, спасибо. Только мне нужно последний параметр отделить, а не все. test_id нужно отделить. Ну это так, на справку.) Т.е. если будет символ процента, мне нужно будет сделать так:
$str = implode($_GET);
$str2=$_GET['test_id']
Или implode вообще не нужно использовать?
 

WMix

герр M:)ller
Партнер клуба
тебе не параметры нужно отделять а имена полей по разному давать!
PHP:
$str = implode($_GET);
$str2=$_GET['test_id']
неправда
вот так
PHP:
$arr = $_GET['answer'];
$str2=$_GET['test_id']
 

Фанат

oncle terrible
Команда форума
Ты мне про метод split говорил вроде. Смотрю ты вообще jQuery не уважаешь, раз все его методы идиотизм.) Все таки эту библиотеку не дураки писали.
Я себе всё лицо отбил, пока эти две строчки читал.

Закрою я, пожалуй, это топик. Это, конечно, волюнтаризм, но как-то уже зашкаливает. Попробуй хотя бы денёк сам, без подсказок.
Освободившееся время употреби на перечитывание прошлых своих тем.

Да. И это не jQuery идиотизм, разумеется, а то, как ты её применяешь.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху