Написал скрипт my_f.php Код (CODE): <?php $nomer_razdela = '1'; echo "<table border='1'> <tr> <td> <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> </td> <td>"; if ($_GET["nomer_razdela"] == '1') echo "Выбран раздел 1"; if ($_GET["nomer_razdela"] == '2') echo "Выбран раздел 2"; if ($_GET["nomer_razdela"] == '3') echo "Выбран раздел 3"; echo " </td> </tr> </table>"; ?> Вставляю его в статью Joomla с помощью php_mod - в модуле записываю Код (CODE): <?php include ("http://domen.ru/video_lekcii/my_f.php"); ?> По логике (по моей ) скрипт должен выводить слова "Выбран раздел 1" при нажатии на ссылку "Раздел 1", а для 2 и 3 раздела соответственно. Выводятся только ссылки, а "Выбран раздел 1" при нажатии на ссылку "Раздел 1" - не выводится. Почему?
аааа..... это же у вас отдельный файл ... тогда через РЕКВЕСТ Код (PHP): $razdel = $_REQUEST["nomer_razdela"];
Код (PHP): <?php $nomer_razdela = '1'; echo "<table border='1'> <tr> <td> <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> </td> <td>"; $razdel = $_REQUEST["nomer_razdela"]; if ($razdel == '1') echo "Выбран раздел 1"; if ($razdel == '2') echo "Выбран раздел 2"; if ($razdel == '3') echo "Выбран раздел 3"; echo " </td> </tr> </table>"; ?> Ну так опять только ссылки выводит, а "Выбран раздел 1" (2, 3) - нет)) Почему ж не работает?
Код (PHP): $nomer_razdela = isset($_GET['nomer_razdela']) ? $_GET['nomer_razdela'] : 1; if ($nomer_razdela == 1){ echo "Выбран раздел 1"; }elseif ($nomer_razdela == 2){ echo "Выбран раздел 2"; }elseif ($nomer_razdela == 3) echo "Выбран раздел 3"; } Этот код рабочий, и ссылка вида "script.php?nomer_razdela=2" выведет то что планировалось.
kr0k, ты со скобками напутал)) Вот так должно быть : Код (PHP): $nomer_razdela = isset($_GET['nomer_razdela']) ? $_GET['nomer_razdela'] : 1; if ($nomer_razdela == 1) { echo "Выбран раздел 1"; } elseif ($nomer_razdela == 2) { echo "Выбран раздел 2"; } elseif ($nomer_razdela == 3) { echo "Выбран раздел 3"; } Твой код у меня почем-то выводит только "Выбран раздел 1". И то, по-моему, только потому, что "isset($_GET['nomer_razdela']) ? $_GET['nomer_razdela'] : 1" единичку присваивает за неимением в $_GET значения (если я ошибаюсь, объясни, могу сам не знать .
Да ты понимаешь совершенно правильно, это значит нет get начиения. А вот почему смотри сам. Но могу слегка намекнуть, ты в файле в котором есть $_GET начение, подключаешь....файл в котором нету $_GET значения.... http://zzima.com/index.php - нет get http://zzima.com/index.php?var=101 - $_GET['var'] равно 101
Ну вот у меня оно есть - 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']. А она не передается. Почему ж так происходит?
Что интересно, когда php-скрипт прямо в модуль запихиваю, то все работает Может, джумла include как-то блокирует?
Код (PHP): include "my_f.php?nomer_razdela=$_GET['nomer_razdela']"; но это очень плохая практика, почему ты не хочешь все в свой модуль вкрутить?? Тем более что все работает.