Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Передача строки методом GET
 
 автор: sega_z   (10.05.2012 в 18:15)   письмо автору
 
 

Помогите разобраться!

При передаче методом GET в ссылке строки:


$slova = "ваш форум самый замечательный";
$arr = explode(" ",$slova); // Заносим слова в массив


Часть кода ссылки:

<a href=http://www.....ru/poisk/poisk.php?slova='.@$arr[0].'+'.@$arr[1].'+'.@$arr[2].'+'.@$arr[3].'+'.@$arr[4].'+'.@$arr[5].'+'.@$arr[6].'+'.@$arr[7].'&gorod='.@$arr1[0].'+'.@$arr1[1].'+'.@$arr1[2].'+'.@$arr1[3].'&.........</a>


Все данные передаются нормально, а вместо слов строки в URL ссылки появляется слово "все" (хотя этого слова в массиве $arr вообще нет!!!!!!):

http://www.....ru/poisk/poisk.php?slova=все&gorod=Москва&....

Никак не могу понять в чем причина!!!

  Ответить  
 
 автор: cheops   (10.05.2012 в 20:37)   письмо автору
 
   для: sega_z   (10.05.2012 в 18:15)
 

Попробуйте вывести дамп массива $arr, что в нем?
<?php
  
echo "<pre>";
  
print_r($arr);
  echo 
"</pre>";
?>
Можно передать всю строку $slova, закодировав её при помощи rawurlencode() (может вам так будет удобнее).

  Ответить  
 
 автор: sega_z   (10.05.2012 в 20:45)   письмо автору
 
   для: cheops   (10.05.2012 в 20:37)
 

Array
(
[0] => ваш
[1] => форум
[2] => самый
[3] => замечательный
)

Все другие массивы в ссылке передаются нормально...
С самого утра пытаюсь понять в чем дело, но пока без успешно ....

Пробовал передать всю строку (не в массиве) - все нормально!

Самое интересное - почему все элементы массива $arr заменяются одним словом "все" ???
Откуда вообще берется это слово???

  Ответить  
 
 автор: cheops   (10.05.2012 в 20:55)   письмо автору
 
   для: sega_z   (10.05.2012 в 20:45)
 

Непосредственно перед формированием ссылки массив проверяете? Попробуйте двигать проверку вверх-вниз, чтобы локализовать место, где происходит подмена элементов массива.

  Ответить  
 
 автор: sega_z   (10.05.2012 в 21:02)   письмо автору
 
   для: cheops   (10.05.2012 в 20:55)
 

УРА!!!!

Как обычно Вы мне очень помогли!!!! СПАСИБО ВАМ!!!

Все дело в том, что на странице оказалось два разных массива с одинаковым именем $arr
А я целый день голову ломаю, уже мозг плавится, весь код просмотрел много раз, а такую пустяковую ошибку не заметил....

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования