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 » PHP » Программирование на PHP » Передача параметров

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

1. bor2092 - 15 Сентября, 2009 - 05:07:36 - перейти к сообщению
У меня есть скрипт,в котором есть ссылки на самого себяо,но с параметрами:
<a href="index.php?t=6">.
В начале скрипта у меня написано следующее:
$t= $_GET["t"];
if (!isset($t)) $t=8;
echo $t;
Скрипт выодит 8,т.е в упор не видит,переданную ему переменную.Пробовал менять get на post,а также вообще не писать ни get,ни post-ничего не меняется
2. movEAX - 15 Сентября, 2009 - 06:56:23 - перейти к сообщению
Более полный код можно?

Попробуй перед тем как присваивать значение переменной $t вывести содержимое массива GET.
3. Viper - 15 Сентября, 2009 - 08:01:06 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. echo '<pre>';
  2. print_r($_GET);
  3. echo '</pre>';
  4.  

результаты смотрите сами что у вас в GET приезжает.

кстати isset'ом вы проверяете установленна ли переменная, но не проверяете пустая ли она.
4. bor2092 - 15 Сентября, 2009 - 15:53:37 - перейти к сообщению
Ну более подробный код приводить бессмысленно,тк скрипт мог бы состоять только из этих строчек. А результаты печатанья GET-а неутешительны:
Array
(
[q] => index.php
)
Т.е,переменную $t,он не видит
5. Viper - 15 Сентября, 2009 - 16:07:07 - перейти к сообщению
что-то блокирует передачу либо криво скрипт написан.

можно выдырать из $_SERVER['QUERY_STRING'] если не ошибаюсь
6. movEAX - 15 Сентября, 2009 - 16:10:01 - перейти к сообщению
Какое значение параметра variables_order в php.ini ?
7. Nestor - 15 Сентября, 2009 - 16:17:23 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. echo '<pre>';
  2. print_r($_REQUEST);
  3. echo '</pre>';


Какие результаты даного скрипта?
8. JustUserR - 15 Сентября, 2009 - 16:31:47 - перейти к сообщению
bor2092 А если допустим формой передать с помощью POST то тоже не видит? Может у вас где случайно urlencode происходит автоматически? (Напримсер в вашей ссылке вашим браузером)
9. bor2092 - 15 Сентября, 2009 - 17:18:19 - перейти к сообщению
$_SERVER['QUERY_STRING'] => q=index.php
php.ini не виноват:я тестировал и на локальном сервере(где точно всё правильно),и на хостинге.

print_r($_REQUEST):
Array
(
[q] => index.php
[PHPSESSID] => какая-то длинная фигня
)
Через форму тоже попробовал-результат тот же самый,переменных он не видит.
10. Ch_chov - 15 Сентября, 2009 - 17:28:29 - перейти к сообщению
Вероятно в вашем скрипте используется mod_rewrite.
Поищите в .htaccess строчку RewriteRule ^(.*)$ index.php?q=$1 [L] или что-нибудь похожее.

POST данные должны передоваться даже в этом случае.
11. bor2092 - 15 Сентября, 2009 - 18:04:30 - перейти к сообщению
Точно:
RewriteRule (.*)\.(php|html|htm|php3|phtml|shtml) \.heder.php?q=$1.$2 [NC,L]
Вот,чёрт возьми,где корень зла.Удалил строчку-всё сразу заработало.
Большое спасибо,очень помогли

 

Powered by ExBB FM 1.0 RC1