We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 16565
    • 36 Posts
    Добрый день, уважаемые знатоки modx!

    Буду признательна за помощь.

    Пытаюсь впервые вставить php код в контент страницы. Необходимо получить информацию с дружественного нам сайта. Для чего нужно вставить вот такой код:

    <?
    $url="http://labirint.travel/agency/program.php?id=".$_GET[’id’]."&currency=".$_GET[’currency’]."&website=http://www.ааа.ru";
    $content=file_get_contents($url);
    print $content;
    ?>

    Вот так я его и ставлю, сохраняю.

    В результате на странице ничего не происходит. А в кэшируемой странице html вся эта конструкция показана как комментарий с заменой <? на <!-- и, соответственно, ?> на -->.

    Что я делаю не так?


    Спасибо.
      • 785
      • 2,113 Posts
      На страницу код PHP прямо вставлять нельзя, можно вставить вызов сниппета, а в сниппет добавить нужный код. Кроме того, чтобы в $_GET[’id’] и в $_GET[’currency’] были нужные значения, надо сначала создать форму ввода, куда они будут введены.
        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
        Статьи о MODx, регулярно новые публикации
        • 16565
        • 36 Posts
        А-а-а-а!!!! Пошла искать чего бы почитать по теме!
          • 16565
          • 36 Posts
          Для начала решила пойти по более простому варианту. Создала сниппет:
          <?php
          $url="http://labirint.travel/agency/all_tours.php?country=9&website=http://www.aaa.ru";
          $content=file_get_contents($url);
          print $content;
          ?>
          Вставила к контент. Какая-то информация пошла. Но вместо букв сплошные квадратики. Это у меня не совпадает кодировка с инфой с сайта или я опять что-то не то делаю?
            • 785
            • 2,113 Posts
            Quote from: lady at Mar 25, 2010, 06:20 AM

            Это у меня не совпадает кодировка с инфой с сайта
            Именно - надо добавить строку:
            <?php 
            $url="http://labirint.travel/agency/all_tours.php?country=9&website=http://www.aaa.ru"; 
            $content=file_get_contents($url); 
            $content=iconv('windows-1251', 'utf-8', $content );
            print $content; 
            ?>
              Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
              Статьи о MODx, регулярно новые публикации
              • 16565
              • 36 Posts
              Спасибо! kiss
                • 16565
                • 36 Posts
                Можно я еще поспрашиваю?

                Задача такая: необходимо получить поток данных от сайта-партнера, который предоставляет этот сервис при помощи 2 php-программ.
                1. Первый код предоставляет список ссылок по теме. Я создала сниппет и поставила на нужную мне страницу. Все работает.
                <?php
                $url="http://labirint.travel/agency/all_tours.php?country=9&website=http://www.aaa.ru";
                $content=file_get_contents($url);
                $content=iconv(’windows-1251’, ’utf-8’, $content );
                print $content;
                ?>
                2. При нажатии на любую ссылку из предложенного списка должна появляться некая информация на моей странице с сайта-источника при помощи следующей программы, которая по условию должна стоять в корневом каталоге под видом program.php:
                <?
                $url="http://labirint.travel/agency/program.php?id=".$_GET[’id’]."&currency=".$_GET[’currency’]."&website=http://www.aaa.ru";
                $content=file_get_contents($url);
                print $content;
                ?>
                Задумка в том, чтобы на моей странице не было ссылок на сайт-оригинал. Т.е. при нажатии на ссылку программе program.php передаются параметры id (например, 1565), currency и website (например, www.aaa.ru).
                Я все это сделала. Но в окрывающемся новом окне вижу сообщение

                Not Found
                The requested document was not found on this server.

                Хотя в URL стоит правильная подстановка параметров id и website:
                http://www.aaa.ru/program.php?id=1565

                Что я опять делаю не так? Пожалуйста.


                  • 785
                  • 2,113 Posts
                  Что в адресной строке браузера написано, когда выдается сообщение The requested document was not found on this server
                    Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                    Статьи о MODx, регулярно новые публикации
                    • 16565
                    • 36 Posts
                      • 785
                      • 2,113 Posts
                      Пробовать надо. Во-первых в начале файла надо писать <?php а не <? хотя проблема вряд ли в этом. Надо просто ввести нужный адрес в адресной строке и посмотреть, вызывается ли программа. Возможно, сайт работает только по адресу без www. В программе убрать выполняемый код и оставить только печать какого-то слова, чтобы убедиться, что программа в принципе выполняется. И так далее – надо пробовать и искать проблему, чтобы ее ликвидировать.
                        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                        Статьи о MODx, регулярно новые публикации