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

Discussion in 'PHP' started by inlanger, 17 Oct 2007.

  1. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    У меня такая проблема...
    В коде есть контсрукция вида:
    PHP:
    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;
    }
    Ввод адреса типа:
    ничего не даёт. print $id выводит пустую строку.
    но если перед switch этому самому $id присвоить значение руками - всё прекрассно работает.

    В чём может быть проблема?
     
    #1 inlanger, 17 Oct 2007
    Last edited: 17 Oct 2007
  2. Talisman

    Talisman Elder - Старейшина

    Joined:
    22 Apr 2006
    Messages:
    400
    Likes Received:
    151
    Reputations:
    80
    режистер глобал выключен.
    пропиши вначале скрипта
    $id=$_GET['id'];
     
    1 person likes this.
  3. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    срасибо, работает. но почему-то только тогда, когда я присваиваю переменную в строке ввода url
    ссылки типа ?id=world не пашуть...
     
    #3 inlanger, 17 Oct 2007
    Last edited: 17 Oct 2007
  4. Talisman

    Talisman Elder - Старейшина

    Joined:
    22 Apr 2006
    Messages:
    400
    Likes Received:
    151
    Reputations:
    80
    ???
    можно кода побольше, что там до элсифа идет
     
  5. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    include("...?country=...&range=...");
    А разве так можно? Попробуй include везде заменить на readfile.
     
  6. DRON-ANARCHY

    DRON-ANARCHY Отец порядка

    Joined:
    4 Mar 2005
    Messages:
    716
    Likes Received:
    142
    Reputations:
    50
    обычно инклудится сам файл и уже в готовый суются переменные
    то есть
    include 'somefile.php';
    //допустим вбили его в индекс.пхп
    тогда чтобы эти все переменные заработали надо писать не
    include 'somefile.php?world=...&language=...';
    а
    просто уже index.php?world=...&language=...
    или я не так понял че-то...
     
    2 people like this.
  7. DRON-ANARCHY

    DRON-ANARCHY Отец порядка

    Joined:
    4 Mar 2005
    Messages:
    716
    Likes Received:
    142
    Reputations:
    50
    посмарел свою репу... оказалось, что некоторым личностям непонятно то, что я написал) не скажу кому)
    вобщем напишу иначе... у вас есть файл в который идет инклуд(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=....
     
  8. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    А если там инклудится файл через HTTP? Тогда он просто весь html код этой страницы выполнит ну уж точно не PHP код и тем более так не удобно =)
    Юзай readfile.