PDA

Просмотр полной версии : Передача знакчения переменной через командрную строку


inlanger
17.10.2007, 13:25
У меня такая проблема...
В коде есть контсрукция вида:

elseif ($GLOBALS["show_content"])
{
switch($id):
case("noligue"):
print "<a href=scores.php?id=countries>Отдельные лиги стран</a>";
print "<a href=scores.php?id=world>Международные игры</a>";
break;
case("countries"):
include("*********/getleague.php?country=ukraine&range=today");
include("*********/getleague.php?country=russia&range=today");
include("*********/getleague.php?country=england&range=today");
include("*********/getleague.php?country=italy&range=today");
break;
case("world"):
include("*********/getleague.php?country=International&range=today");
break;
endswitch;
}

Ввод адреса типа:
*********/scores.php?id=world
ничего не даёт. print $id выводит пустую строку.
но если перед switch этому самому $id присвоить значение руками - всё прекрассно работает.

В чём может быть проблема?

Talisman
17.10.2007, 13:28
режистер глобал выключен.
пропиши вначале скрипта
$id=$_GET['id'];

inlanger
17.10.2007, 13:29
срасибо, работает. но почему-то только тогда, когда я присваиваю переменную в строке ввода url
ссылки типа ?id=world не пашуть...

Talisman
17.10.2007, 13:51
???
можно кода побольше, что там до элсифа идет

NOmeR1
17.10.2007, 16:28
include("...?country=...&range=...");
А разве так можно? Попробуй include везде заменить на readfile.

DRON-ANARCHY
17.10.2007, 22:44
обычно инклудится сам файл и уже в готовый суются переменные
то есть
include 'somefile.php';
//допустим вбили его в индекс.пхп
тогда чтобы эти все переменные заработали надо писать не
include 'somefile.php?world=...&language=...';
а
просто уже index.php?world=...&language=...
или я не так понял че-то...

DRON-ANARCHY
18.10.2007, 15:30
посмарел свою репу... оказалось, что некоторым личностям непонятно то, что я написал) не скажу кому)
вобщем напишу иначе... у вас есть файл в который идет инклуд(index.php) и файл, который инклудится(for_include.php).
Допустим у индекса вообще никаких параметров сначала не было, а вот for_include.php получал и обрабатывал какие-то переменные.
Так вот инклудится не for_include.php?var1=....&var2=.... а просто for_include.php
а потом уже работа с этими переменными будет идти через index.php.
то есть, чтобы заставить заинклуженный файл for_include.php работать, надо скормить переменые индексу.
то есть будет index.php?var1=....&var2=....

NOmeR1
18.10.2007, 19:47
посмарел свою репу... оказалось, что некоторым личностям непонятно то, что я написал) не скажу кому)
вобщем напишу иначе... у вас есть файл в который идет инклуд(index.php) и файл, который инклудится(for_include.php).
Допустим у индекса вообще никаких параметров сначала не было, а вот for_include.php получал и обрабатывал какие-то переменные.
Так вот инклудится не for_include.php?var1=....&var2=.... а просто for_include.php
а потом уже работа с этими переменными будет идти через index.php.
то есть, чтобы заставить заинклуженный файл for_include.php работать, надо скормить переменые индексу.
то есть будет index.php?var1=....&var2=....
А если там инклудится файл через HTTP? Тогда он просто весь html код этой страницы выполнит ну уж точно не PHP код и тем более так не удобно =)
Юзай readfile.