Передача массива данных методом GET, и присвоение одной переменной, нескольких значен

Гриша К.

Новичок
Передача массива данных методом GET, и присвоение одной переменной, нескольких значен

Здравствуйте.
Разъясните пожалуйста следующее:

PHP:
//например, есть форма

<form action="script.php?catid=1&productid=1" method="get">

<select name="option_id[]" size="1">
<option value="1">размер 1</option>
<option value="2">размер 2</option>
</select>

<select name="option_id[]" size="1">
<option value="4">цвет 1</option>
<option value="5">цвет 2</option>
</select>

<input type="submit"></form>
После отправки данных формы, строка url принимает вид, например:
/script.php?catid=1&productid=1&option_id%5B%5D=1&option_id%5B%5D=4
где '%5B%5D' есть '[]'

В скрипте я могу принмать и выводить массив $option_id, но
1) я хотелбы узнать, передача массива данных методом GET это нормально?

И затем эти данные мне надо передать на другую страницу, для этого я передаю такой параметр:
/script2.php?optionid=1,4
2) нормально ли это

Хотя я знаю, что например при поиске на русском языке, при передаче этих параметров методом get,
строка обрабатывается при помощи urlencode(),
но так как я раньше не передавал массив данных и несколько значений в одной переменной через запятую,
я решил убедиться в том, что это нормально.
 

Panchous

Павел
передача массива данных методом GET это нормально?
да
И затем эти данные мне надо передать на другую страницу, для этого я передаю такой параметр:
/script2.php?optionid=1,4
<b>2) нормально ли это</b>
нет - через хидден-поля
 

Гриша К.

Новичок
Panchous, спасибо за ответ.

2)
Когда я нахожусь на странице: /script.php?catid=1&productid=1&option_id%5B%5D=1&option_id%5B%5D=4,
у меня например формируется ссылка: <a href="/script2.php?optionid=1%2C4">оформить</a>,
где '1%2C4' есть '1,4'
потому что кнопка submit формы, отправляет данные на текущую страницу (script.php).

Вообще нормально передавать таким образом параметры,
т.е. по ссылке '<a href="/script2.php?optionid='.urlencode('1,4').'">'оформить</a>,
ну а потом например при помощи explode(), разбивать на значения?


Параметры эти передаются, но я хотелбы узнать, можно так делать.
На некоторых сайтах я видел такое ?var=1:2:7:1:1 или ?var=1,2,7,1,1
 
Сверху