Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/76: Рейтинг темы: голосов - 76, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 01.02.2013
Сообщений: 31

Передача массива методом GET / POST

23.07.2014, 00:30. Показов 15410. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, у меня такой вопросик: как принять массив с формы которая родила такой ЮРЛ ( ?option2=a1&option2=a2&option2=a3&option 2=a4&option2=a5&option2=a6&option2=a7&op tion2=a8&option2=a9&option2=a10&option2= a11&option2=a12&option2=a13&option2=a14& option2=a15 )

как его обработать в php и подготовить для записи в бд в таком виде а1, а2, а3, а4, а5, а6, а7, а8 ... и так дале

количество значений [option2] не фиксированное

Заранее благодарю
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.07.2014, 00:30
Ответы с готовыми решениями:

Передача массива методом POST (foreach)
Ребят что та не могу понять передаю вот такую информацию в массиве: <? $arr = array("icq", "skype", "1С...

Передача массива POST-методом в PHP-файл
Здравствуйте! У меня есть массив данных и я его хочу записать в файл. Я делал так, mass= ; // какой то массив mass2 =...

Передача json массива POST методом на сервер
Есть сервис, на другом домене (не мой сайт), там по специально выданному url, можно отправлять массив json и получать ответ, произошла...

11
 Аватар для Nick007
101 / 94 / 38
Регистрация: 30.09.2009
Сообщений: 442
23.07.2014, 00:57
данные значений из адресной строки попадают в переменную $_GET
она представляет из себя массив со полями 'ключ'=>'значение'
работаете с ней как с обычным массивом

данные выглядят примерно таким образом:
PHP
1
2
3
4
5
6
$_GET = array(
'option1'=>'a1',
'option2'=>'a2',
...
'optionN'=>'aN'
);
0
11 / 1 / 1
Регистрация: 14.06.2013
Сообщений: 20
23.07.2014, 01:03
Так же не забывай фильтровать, mysql_real_escape_string или если mysqli, то $mysqli->real_escape_string
0
 Аватар для Nick007
101 / 94 / 38
Регистрация: 30.09.2009
Сообщений: 442
23.07.2014, 01:09
Я обычно, для предотвращения sql вставок, использую такой вариант:
PHP
1
$_GET['option1'] = htmlspecialchars($_GET['option1'], ENT_QUOTES);
в принципе, экранизацию можно делать разными способами,
какой вариант использовать, дело вкуса или удобства ситуации
0
11 / 1 / 1
Регистрация: 14.06.2013
Сообщений: 20
23.07.2014, 01:26
Вообще htmlspecialchars недостаточно
0
0 / 0 / 0
Регистрация: 01.02.2013
Сообщений: 31
23.07.2014, 01:28  [ТС]
ОК, у меня такая задача http://lol.vaz2101.com.ua/2/toggle3.html здеся мне нужно выбрать несколько вариантов и записать в бд как теги через запятую
0
 Аватар для Nick007
101 / 94 / 38
Регистрация: 30.09.2009
Сообщений: 442
23.07.2014, 01:40
вам нужно переписать форму
в данном случае у вас получится в $_GET одна переменная с последним значением

Добавлено через 4 минуты
Вам нужно либо:
1 - поменять имена полей, делать их имена не повторяющимися

HTML5
1
2
3
4
5
<input type="checkbox" name="option1" value="a1"/>
Категория
<br/>
<input type="checkbox" name="option2" value="a2"/>
Категория1
либо:
2 - нужно запись представить в виде массива полей
HTML5
1
2
3
4
5
6
7
8
9
10
<input type="checkbox" name="option2[1]" value="a1"/>
Категория
<br/>
<input type="checkbox" name="option2[2]" value="a2"/>
Категория1
<br/>
<input type="checkbox" name="option2[3]" value="a3"/>
Категория2
<br/>
<input type="checkbox" name="option2[4]" value="a4"/>
Добавлено через 5 минут
после этого обрабатывать полученный массив значений любым удобным для вас способом

// в первом варианте у вас будет примерно
//
PHP
1
2
3
4
5
6
7
$_GET = array(
    'option1'=>'a1',
    'option2'=>'a2',
    //...
    'optionN'=>'aN'
);
//
// во втором примерно:
//
PHP
1
2
3
4
5
6
7
8
9
$_GET = array(
    'option2'=>array(
        '1'=>'a1',
        '2'=>'a2',
        //...
        'N'=>'aN'
        )
);
//
1
0 / 0 / 0
Регистрация: 01.02.2013
Сообщений: 31
23.07.2014, 01:40  [ТС]
ок прописав

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    <input type="checkbox" name="option[1]" value="a1">Категория</input><br>
    <input type="checkbox" name="option[2]" value="a2">Категория1</input><br>
    <input type="checkbox" name="option[3]" value="a3">Категория2</input><br>
    <input type="checkbox" name="option[4]" value="a4">Категория2</input><br>
    <input type="checkbox" name="option[5]" value="a5">Категория2</input><br>
    <input type="checkbox" name="option[6]" value="a6">Категория2</input><br>
    <input type="checkbox" name="option[7]" value="a7">Категория2</input><br>
    <input type="checkbox" name="option[8]" value="a8">Категория2</input><br>
    <input type="checkbox" name="option[9]" value="a9">Категория2</input><br>
    <input type="checkbox" name="option[10]" value="a10">Категория2</input><br>
    <input type="checkbox" name="option[11]" value="a11">Категория2</input><br>
    <input type="checkbox" name="option[12]" value="a12">Категория2</input><br>
    <input type="checkbox" name="option[13]" value="a13">Категория2</input><br>
    <input type="checkbox" name="option[14]" value="a14">Категория2</input><br>
    <input type="checkbox" name="option[15]" value="a15">Категория2</input><br>

а як тогда его принять в php файле?


с учотом что количество checkbox может менятся динамически с бд!
0
 Аватар для Nick007
101 / 94 / 38
Регистрация: 30.09.2009
Сообщений: 442
23.07.2014, 01:44
а как у вас выглядел запросс к базе, на сохранение , в исходном виде?
0
0 / 0 / 0
Регистрация: 01.02.2013
Сообщений: 31
23.07.2014, 01:50  [ТС]
эщо его нет, мне нужно просто перенести в зрз и вивести на екран через запятую все значения
0
 Аватар для Nick007
101 / 94 / 38
Регистрация: 30.09.2009
Сообщений: 442
23.07.2014, 02:14
тогда зачем вам экранирование спец символов?

Добавлено через 59 секунд
в месте вывода просто вставьте:
PHP
1
echo implode(', ',$_GET['option']);
Добавлено через 58 секунд
и получите вывод полученных значений в строку через запятую

Добавлено через 3 минуты
у меня ваша форма получила вывод в виде
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
Array
(
    [option] => Array
        (
            [1] => a1
            [3] => a3
            [4] => a4
            [6] => a6
        )
 
)
a1, a3, a4, a6
при использовании варианта отображения:
PHP
1
2
echo print_r($_GET,1);
echo implode(', ',$_GET['option']);
1
0 / 0 / 0
Регистрация: 01.02.2013
Сообщений: 31
23.07.2014, 04:12  [ТС]
Форма
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<form action="ajx.php" method="get">
<div class="block">
    <h1 class="extremum-click">Категории</h1>
        <div class="extremum-slide">
    <input type="checkbox" name="option[1]" value="Категория1">Категория</input><br>
    <input type="checkbox" name="option[2]" value="Категория2">Категория1</input><br>
    <input type="checkbox" name="option[3]" value="Категория3">Категория2</input><br>
    <input type="checkbox" name="option[4]" value="Категория4">Категория2</input><br>
    <input type="checkbox" name="option[5]" value="Категория5">Категория2</input><br>
    <input type="checkbox" name="option[6]" value="Категория6">Категория2</input><br>
    <input type="checkbox" name="option[7]" value="Категория7">Категория2</input><br>
    <input type="checkbox" name="option[8]" value="Категория8">Категория2</input><br>
    <input type="checkbox" name="option[9]" value="Категория9">Категория2</input><br>
    <input type="checkbox" name="option[10]" value="Категория10">Категория2</input><br>
    <input type="checkbox" name="option[11]" value="Категория11">Категория2</input><br>
    <input type="checkbox" name="option[12]" value="Категория12">Категория2</input><br>
    <input type="checkbox" name="option[13]" value="Категория13">Категория2</input><br>
    <input type="checkbox" name="option[14]" value="Категория14">Категория2</input><br>
    <input type="checkbox" name="option[15]" value="Категория15">Категория2</input><br>
        </div>
</div>
   <p><input type="submit" value="Отправить"></p>
  </form>


Обработчик

PHP
1
2
3
4
5
6
7
<?php
 
$mas = $_GET["option"];
var_dump($mas);
 
 
?>


что выводит: array(3) { [1]=> string(19) "Категория1" [2]=> string(19) "Категория2" [3]=> string(19) "Категория3" }


как мне сделать чтобы переменная например $caregory = "Категория1 Категория2 Категория3";

Добавлено через 2 минуты
Тупанул

PHP
1
 echo implode(' ',$_GET['option']);
и все работает)))
ВСЕМ СПАСИБО
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.07.2014, 04:12
Помогаю со студенческими работами здесь

fsockopen передача методом POST
&lt;?php $response=&quot;&quot;; if ($fp = fsockopen (&quot;127.0.0.1&quot;, 80, $errno, $errstr, 30)) { $request =&quot;POST /go.php?status=name...

Передача значений методом POST
Доброго времени суток! Если не трудно, прошу помочь решить следующую задачу. Имеются две страницы: index.php и page.php. На...

Передача переменной методом POST
Подскажите пожалуйста, как получить значение переменной на странице bat.php. : session_start(); if(!$_SESSION) { header...

Передача значений методом post
Здравствуйте, помогите пожалуйста Имеется скрипт оплаты: &lt;form method=&quot;post&quot;...

Передача данных методом POST
Приветствую!! Есть две обычные формы, В первой есть текстовое поле: &lt;form action=&quot;1.php method=&quot;post&quot;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru