не работает передача методом GET

Тема в разделе "Программирование", создана пользователем fs444, 01.01.2011.

  1. Offline

    fs444 Недавно здесь

    Регистрация:
    06.11.2010
    Сообщения:
    48
    Симпатии:
    0
    Пол:
    Мужской
    Написал скрипт my_f.php
    Код (CODE):
    1. <?php
    2.    $nomer_razdela = '1';
    3.    echo "<table border='1'>
    4.       <tr>
    5.          <td>
    6.             <a href='http://domen.ru/index.php?option=com_content&view=article&id=774&nomer_razdela=1'>Раздел 1</a>
    7.                     <a href='http://domen.ru/index.php?option=com_content&view=article&id=774&nomer_razdela=2'>Раздел 2</a>
    8.                     <a href='http://domen.ru/index.php?option=com_content&view=article&id=774&nomer_razdela=3'>Раздел 3</a>      
    9.          </td>
    10.          <td>";  
    11.          
    12.          if ($_GET["nomer_razdela"] == '1')
    13.          echo "Выбран раздел 1";
    14.          
    15.          if ($_GET["nomer_razdela"] == '2')
    16.          echo "Выбран раздел 2";
    17.          
    18.          if ($_GET["nomer_razdela"] == '3')
    19.          echo "Выбран раздел 3";
    20.            
    21.     echo "   </td>
    22.       </tr>
    23.    </table>";
    24. ?>

    Вставляю его в статью Joomla с помощью php_mod - в модуле записываю
    Код (CODE):
    1. <?php
    2.    include ("http://domen.ru/video_lekcii/my_f.php");
    3. ?>

    По логике (по моей ;)) скрипт должен выводить слова "Выбран раздел 1" при нажатии на ссылку "Раздел 1", а для 2 и 3 раздела соответственно. Выводятся только ссылки, а "Выбран раздел 1" при нажатии на ссылку "Раздел 1" - не выводится. Почему? :)
     
  2.  
  3. omfgpanda
    Offline

    omfgpanda Недавно здесь => Cпециалист <=

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    Код (PHP):
    1. $razdel = JRequest::getInt("nomer_razdela");
    2. if($razdel == 1) ...
     
  4. Offline

    fs444 Недавно здесь

    Регистрация:
    06.11.2010
    Сообщения:
    48
    Симпатии:
    0
    Пол:
    Мужской
    Со строкой
    вообще скрипт ничего не выдает? Почему так?:)
     
  5. omfgpanda
    Offline

    omfgpanda Недавно здесь => Cпециалист <=

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    аааа..... это же у вас отдельный файл ... тогда через РЕКВЕСТ
    Код (PHP):
    1. $razdel = $_REQUEST["nomer_razdela"];
     
  6. Offline

    fs444 Недавно здесь

    Регистрация:
    06.11.2010
    Сообщения:
    48
    Симпатии:
    0
    Пол:
    Мужской
    Код (PHP):
    1. <?php
    2.    $nomer_razdela = '1';
    3.    echo "<table border='1'>
    4.      <tr>
    5.          <td>
    6.             <a href='http://domen.ru/index.php?option=com_content&view=article&id=774&nomer_razdela=1'>Раздел 1</a> <a href='http://domen.ru/index.php?option=com_content&view=article&id=774&nomer_razdela=2'>Раздел 2</a> <a href='http://domen.ru/index.php?option=com_content&view=article&id=774&nomer_razdela=3'>Раздел 3</a>      
    7.          </td>
    8.          <td>";  
    9.          
    10.          $razdel = $_REQUEST["nomer_razdela"];  
    11.          
    12.          if ($razdel == '1')
    13.          echo "Выбран раздел 1";
    14.          
    15.          if ($razdel == '2')
    16.          echo "Выбран раздел 2";
    17.          
    18.          if ($razdel == '3')
    19.          echo "Выбран раздел 3";
    20.            
    21.     echo "   </td>
    22.       </tr>
    23.   </table>";
    24. ?>

    Ну так опять только ссылки выводит, а "Выбран раздел 1" (2, 3) - нет)) Почему ж не работает?:)
     
  7. Offline

    kr0k Недавно здесь

    Регистрация:
    09.12.2010
    Сообщения:
    13
    Симпатии:
    0
    Пол:
    Мужской
    Код (PHP):
    1. $nomer_razdela = isset($_GET['nomer_razdela']) ? $_GET['nomer_razdela'] : 1;
    2. if ($nomer_razdela == 1){
    3.   echo "Выбран раздел 1";
    4. }elseif ($nomer_razdela == 2){
    5.   echo "Выбран раздел 2";
    6. }elseif ($nomer_razdela == 3)
    7.   echo "Выбран раздел 3";
    8. }

    Этот код рабочий, и ссылка вида "script.php?nomer_razdela=2" выведет то что планировалось.
     
  8. Offline

    fs444 Недавно здесь

    Регистрация:
    06.11.2010
    Сообщения:
    48
    Симпатии:
    0
    Пол:
    Мужской
    kr0k, ты со скобками напутал)) Вот так должно быть:) :
    Код (PHP):
    1. $nomer_razdela = isset($_GET['nomer_razdela']) ? $_GET['nomer_razdela'] : 1;
    2. if ($nomer_razdela == 1)
    3. {
    4.   echo "Выбран раздел 1";
    5. }
    6. elseif ($nomer_razdela == 2)
    7. {
    8.   echo "Выбран раздел 2";
    9. }
    10. elseif ($nomer_razdela == 3)
    11. {
    12.   echo "Выбран раздел 3";
    13. }

    Твой код у меня почем-то выводит только "Выбран раздел 1". И то, по-моему, только потому, что "isset($_GET['nomer_razdela']) ? $_GET['nomer_razdela'] : 1" единичку присваивает за неимением в $_GET значения:) (если я ошибаюсь, объясни, могу сам не знать :)).
     
  9. Offline

    kr0k Недавно здесь

    Регистрация:
    09.12.2010
    Сообщения:
    13
    Симпатии:
    0
    Пол:
    Мужской
    Да ты понимаешь совершенно правильно, это значит нет get начиения. А вот почему смотри сам.
    Но могу слегка намекнуть, ты в файле в котором есть $_GET начение, подключаешь....файл в котором нету $_GET значения....
    http://zzima.com/index.php - нет get
    http://zzima.com/index.php?var=101 - $_GET['var'] равно 101
    ;)
     
  10. Offline

    fs444 Недавно здесь

    Регистрация:
    06.11.2010
    Сообщения:
    48
    Симпатии:
    0
    Пол:
    Мужской
    Ну вот у меня оно есть - http://domen.ru/index.php?option=com_content&view=article&id=774&nomer_razdela=1, получается $_GET['nomer_razdela']=1.

    Остальная часть ссылки - ?option=com_content&view=article&id=774, нужна для отображения именно той статьи, в которую my_f.php подключается:)

    Ты хочешь сказать, что в index.php (в который я подключаю) есть GET-значение, а в my_f.php (который я подключаю в index.php) - нету GET-значения?

    Ведь если я правильно понимаю, неважно, подключен код из my_f.php в index.php, или этот код будет содержаться сразу в самом index.php (безо всяких include'ов) - это ж одно и тоже будет? :)

    Ведь ссылкой http://domen.ru/index.php?option=com_content&view=article&id=774&nomer_razdela=1 скрипту index.php должна передаваться $_GET['nomer_razdela']. А она не передается. Почему ж так происходит?:)
     
    Последнее редактирование: 05.01.2011
  11. Offline

    fs444 Недавно здесь

    Регистрация:
    06.11.2010
    Сообщения:
    48
    Симпатии:
    0
    Пол:
    Мужской
    Что интересно, когда php-скрипт прямо в модуль запихиваю, то все работает :)

    Может, джумла include как-то блокирует?
     
  12. Offline

    kr0k Недавно здесь

    Регистрация:
    09.12.2010
    Сообщения:
    13
    Симпатии:
    0
    Пол:
    Мужской
    Код (PHP):
    1. include "my_f.php?nomer_razdela=$_GET['nomer_razdela']";


    но это очень плохая практика, почему ты не хочешь все в свой модуль вкрутить?? Тем более что все работает.
     

Поделиться этой страницей

Загрузка...