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

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

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. Как их можно разделить?
 
можно сделать так, чтобы приходило
PHP:
save_data.php?answer[1]=2&answer[2]=1&answer[3]=2&id=1
 
А по другому никак? Просто на клиенте этот url формирует метод jQuery, serialize(). Если бы я сам его формировал, тогда другое дело.
 
ну или можешь забрать id, потом unset($_GET['id']) и забирать остальное массивом
 
я тебе сто раз говорил, что делать serialize на клиенте - идиотизм. но ты ж у нас умнее всех
впрочем, serialize совсем не мешает сделать так как я сказал
 
  • Like
Реакции: craz
Не помню такого. Ты мне про метод split говорил вроде. Смотрю ты вообще jQuery не уважаешь, раз все его методы идиотизм.) Все таки эту библиотеку не дураки писали. В таком случае, что предложишь вместо него использовать?
Кстати вот описание этого метода:
Serialize()
Упорядочивает набор элементов ввода input в строку данных.
Функция serialize обычно используется для подготовки пользовательских данных в полях ввода input к отправке на сервер. Упорядоченные этим методом данные находятся в стандартном формате, который совместим с большинством серверных языков программирования и фреймворков.
Ключевая фраза, совместим с большинством серверных языков.
Другими словами он создает стандартный get запрос, который на всех сайтах используется. Везде же get запросом передают. Нет ни одного сайта наверно где не используется get запрос. Тогда почему передача get запросом идиотизм?
 
И только вот тут начинаешь понимать почему у Фаната 36000 сообщений))))))))))))
 
Dimaz
чтоб сформировать запрос так как говорит фанат,
Код:
 save_data.php?answer[1]=2&answer[2]=1&answer[3]=2&id=1
с помощью jQuery, serialize(), необходимо чтоб поля правильно назывались
PHP:
<input name="answer[1]" value="2" .../>
 
Почему интересно) Давайте уже по делу лучше. Тема не о методе serialize, а о том как обработать get запрос. Я все понимаю, что всем хочется сострить как-то, доказать что-то. Но все таки давайте по теме:)
 
Dimaz
что почему? я так понял вопрос, как заставить serialize создавать правильную строку... ответ, нужно правильно называть поля!
почему так удобнее называть поля ?
PHP:
print_r($_GET['answer'])
 
Dimaz
чтоб сформировать запрос так как говорит фанат, с помощью jQuery, serialize(), необходимо чтоб поля правильно назывались
PHP:
<input name="answer[1]" value="2" .../>
Хмм... Вообще идея конечно, но стандартный метод есть какой-то? Видел на многих сайтах в url-строке есть символ %. Он на что влияет? Как то наверно можно отделить одни данные от других в url-строке?
 
это стандартный метод! символ % это как раз про [ это ] и другие специальные символы!

Код:
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" .../>
 
Хорошо, спасибо. Только мне нужно последний параметр отделить, а не все. test_id нужно отделить. Ну это так, на справку.) Т.е. если будет символ процента, мне нужно будет сделать так:
$str = implode($_GET);
$str2=$_GET['test_id']
Или implode вообще не нужно использовать?
 
тебе не параметры нужно отделять а имена полей по разному давать!
PHP:
$str = implode($_GET);
$str2=$_GET['test_id']
неправда
вот так
PHP:
$arr = $_GET['answer'];
$str2=$_GET['test_id']
 
Ты мне про метод split говорил вроде. Смотрю ты вообще jQuery не уважаешь, раз все его методы идиотизм.) Все таки эту библиотеку не дураки писали.
Я себе всё лицо отбил, пока эти две строчки читал.

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

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