Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Можно ли в ссылку вставить массив?
Форумы портала PHP.SU » » Вопросы новичков » Можно ли в ссылку вставить массив?

Страниц (1): [1]
 

1. quinlena - 31 Августа, 2012 - 09:12:26 - перейти к сообщению
Звучит страшно, но знаю, что нельзя массив в ссылку вставить, но как правильно сформировать ссылку, если не знаешь количество параметров? Количество параметров зависит от количества выбранных чекбоксов...
2. EuGen - 31 Августа, 2012 - 09:16:18 - перейти к сообщению
3. quinlena - 31 Августа, 2012 - 09:19:16 - перейти к сообщению
[quote=EuGen]http://php.su/functions/?http_build_query
?[/quote]
Кажется оно)) Спасибо))
(Добавление)
[quote=EuGen][/quote]
А обратно как ее расшифровать, не подскажете?
4. EuGen - 31 Августа, 2012 - 11:12:52 - перейти к сообщению
5. quinlena - 31 Августа, 2012 - 11:16:14 - перейти к сообщению

Но я понимаю так, что она не вернет тот самый массив, который был, из которого я ссылку сделала?
(Добавление)

Решила проблему по-другому, извлекла все с помощью цикла.
6. EuGen - 31 Августа, 2012 - 11:40:51 - перейти к сообщению
quinlena
Если нужен исходный массив, то это несложно:
PHP:
скопировать код в буфер обмена
  1. $sUrl = 'http://domain.com/script.php?param0=value0&m1=value1&m2=value2';
  2. $rgUrl= parse_url($sUrl);
  3. parse_str($rgUrl['query'], $rgUrl);
  4. //var_dump($rgUrl);
7. armancho7777777 - 31 Августа, 2012 - 12:02:34 - перейти к сообщению
EuGen пишет:
quinlena
Если нужен исходный массив, то это несложно:
PHP:
скопировать код в буфер обмена
  1. $sUrl = 'http://domain.com/script.php?param0=value0&m1=value1&m2=value2';
  2. $rgUrl= parse_url($sUrl);
  3. parse_str($rgUrl['query'], $rgUrl);
  4. //var_dump($rgUrl);

А почему не ...

?
8. EuGen - 31 Августа, 2012 - 12:14:38 - перейти к сообщению
armancho7777777 пишет:
А почему не ...

Потому как в условии вовсе не сказано, что разбирается строка, которая является $_SERVER['QUERY_STRING'] (то есть GET-данные для текущего запроса). Быть может, автор темы имеет ввиду задачу по анализу некоторого текстового содержимого.
9. quinlena - 31 Августа, 2012 - 12:17:55 - перейти к сообщению
EuGen пишет:
armancho7777777 пишет:
А почему не ...

Потому как в условии вовсе не сказано, что разбирается строка, которая является $_SERVER['QUERY_STRING'] (то есть GET-данные для текущего запроса). Быть может, автор темы имеет ввиду задачу по анализу некоторого текстового содержимого.

Уже все сделала) Я пытаюсь сделать рассылку сообщения, но почему-то mail() не срабатывает...
10. armancho7777777 - 31 Августа, 2012 - 12:19:34 - перейти к сообщению
Я на счёт этого ...
EuGen пишет:
Если нужен исходный массив, то это несложно:

Ведь http_build_query сформирует и вернёт эту часть url строки:
param0=value0&m1=value1&m2=value2
11. quinlena - 31 Августа, 2012 - 12:20:57 - перейти к сообщению
armancho7777777 пишет:
Я на счёт этого ...
EuGen пишет:
Если нужен исходный массив, то это несложно:

Ведь http_build_query сформирует и вернёт эту часть url строки:
param0=value0&m1=value1&m2=value2

Что вы спорите? Я сделала вот так:
PHP:
скопировать код в буфер обмена
  1. for ($i=0; $i<$size; $i++){
  2.       $ret=$_REQUEST[$i];
  3.       $sql=mysql_query("select * from `clients` where `id_client`='".$ret."'");
  4.       $sql=mysql_fetch_array($sql);
  5.      
  6.         $blabla.=implode('',array($sql['name_client']));
  7.                 if($i < $size-1){
  8.                         $blabla .= ",   ";
  9. }
  10.      
  11. }
12. EuGen - 31 Августа, 2012 - 12:21:25 - перейти к сообщению
http_build_query создаст ровно тот url, который был передан в массиве. А массив этот, в свою очередь, в общем случае может не иметь ничего общего с $_GET или вообще с запросом к текущему скрипту (это может быть, например, скрипт для CLI, занимающийся некоторыми операциями с cURL).

Спора нет. Просто использование $_GET в данном контексте - не корректно в общем случае. Решение найдено (либо же написано самостоятельно), поэтому цель темы уже достигнута.
13. armancho7777777 - 31 Августа, 2012 - 12:36:12 - перейти к сообщению
Да, Вы правы?)
EuGen пишет:
может не иметь ничего общего с $_GET или вообще с запросом к текущему скрипту (это может быть, например, скрипт для CLI, занимающийся некоторыми операциями с cURL).

quinlena пишет:
Что вы спорите?

Да ну что Вы, какой спор ?))
Просто мне было именно интересно, почему EuGen предложил так сделать.))
А так как я сомневаюсь, что он может предложить худшую реалицию чем я, - спросил ))

 

Powered by ExBB FM 1.0 RC1