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 :: Версия для печати :: Вопрос по массиву $_REQUEST
Форумы портала PHP.SU » PHP » Программирование на PHP » Вопрос по массиву $_REQUEST

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

1. Gal_Sergey - 30 Мая, 2008 - 12:38:35 - перейти к сообщению
CODE (text):
скопировать код в буфер обмена
  1. <?
  2. //скрипт для определения всех переменных переданных через
  3. //форму и известных программе
  4. function debug()
  5. {$output="";
  6. $output.=<<<HERE
  7. <table border=5>
  8.   <tr>
  9.     <th>Названия полей</th>
  10.     <th>Значения полей</th>
  11.   </tr>
  12. HERE;
  13. foreach ($_REQUEST as $field=> $value)
  14.   {$output.=<<<HERE
  15.    <tr>
  16.      <td>$field</td>
  17.      <td>$value</td>
  18.    </tr>
  19. HERE;
  20.   }
  21. $output.="</table>\n";
  22. return $output;
  23. }
  24. print debug();
  25.  
  26. ?>

В результате он выводит табличку с одной строкой:

count 1

Т.е. в массиве $_REQUEST один елемент: $_REQUEST[count]=1
Объясните пожалуйста, что это за переменная count, откуда она берется?
2. valenok - 30 Мая, 2008 - 13:06:11 - перейти к сообщению
<?php print_r($_REQUEST); ?>

Вы наверное скрипт вызываете как то так script.php?count=1
так как ваш код не выводит никак count 1 у меня
3. Gal_Sergey - 30 Мая, 2008 - 19:06:26 - перейти к сообщению
valenok пишет:
Вы наверное скрипт вызываете как то так script.php?count=1

Скрипт я запускаю из адресной строки броузера, в которой набираю http://localhost/папка со скриптом/script.php
4. EuGen - 30 Мая, 2008 - 19:46:55 - перейти к сообщению
$_REQUEST содержит и куки. Возможно, в них есть такая запись.
5. Gal_Sergey - 30 Мая, 2008 - 20:11:07 - перейти к сообщению
А можно $_REQUEST как-то почистить?
6. EuGen - 30 Мая, 2008 - 20:12:17 - перейти к сообщению
Очистите все куки и не передавайте POST или GET параметров, будет чистым.
7. Gal_Sergey - 30 Мая, 2008 - 20:37:39 - перейти к сообщению
На данный момент у меня, такой низкий уровень знаний, что я не знаю как чистить куки.
8. valenok - 30 Мая, 2008 - 21:47:12 - перейти к сообщению
FF: Инструменты -> Настройки -> Приватность -> Показать cookies -> Очистить все cookies
Для остальных браузеров не помню.
9. Gal_Sergey - 30 Мая, 2008 - 22:59:50 - перейти к сообщению
Спасибо, очистил кук в папке localhost. Скрипт уже ничего не выводит.
Возникает новый вопрос: скрипты использующие суперглобальные переменные могут повести себя непредсказуемо?
10. EuGen - 30 Мая, 2008 - 23:38:29 - перейти к сообщению
Если Вы правильно их используете и понимаете что в них хранится - нет.
11. NOBEL - 31 Мая, 2008 - 16:19:47 - перейти к сообщению
У меня работает. Спасибо, хорошая штука!
12. maximushka - 24 Ноября, 2009 - 16:32:34 - перейти к сообщению
Gal_Sergey пишет:
Возникает новый вопрос: скрипты использующие суперглобальные переменные могут повести себя непредсказуемо?

Вообще-то я назвал бы $_REQUEST сливками всего что поступило скрипту ПХП. Так что если Вам по барабану откуда именно взять переменную с куков или с параметров запроса get или post, то берите её с $_REQUEST. Например, это пригодится если вы хотите получить sid сессии, оно как известно может передаваться не только в куках, но и в параметре get или post если через форму в скрытом поле, или через аякс запрос. Но коли Вы забеспокоились о "предсказуемости", то делаю вывод что Вы хотите четко знать откуда поступила та или иная переменная, вот в этом случае используйте три разных массива:
$_COOKIE - для куков
$_POST - для ПОСТовых параметров
$_GET - для ГЕТовых параметров
куки через форму не передаются.. они передаются либо искусственно через заголовки аякс, либо автоматически при их наличии на клиентской машине.

 

Powered by ExBB FM 1.0 RC1