- Поисковые системы
 - Практика оптимизации
 - Трафик для сайтов
 - Монетизация сайтов
 - Сайтостроение
 - Социальный Маркетинг
 - Общение профессионалов
 - Биржа и продажа
- Финансовые объявления
 - Работа на постоянной основе
 - Сайты - покупка, продажа
 - Соцсети: страницы, группы, приложения
 - Сайты без доменов
 - Трафик, тизерная и баннерная реклама
 - Продажа, оценка, регистрация доменов
 - Ссылки - обмен, покупка, продажа
 - Программы и скрипты
 - Размещение статей
 - Инфопродукты
 - Прочие цифровые товары
 
 - Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
 - Ведение рекламных кампаний
 - Услуги в области SMM
 - Программирование
 - Администрирование серверов и сайтов
 - Прокси, ВПН, анонимайзеры, IP
 - Платное обучение, вебинары
 - Регистрация в каталогах
 - Копирайтинг, переводы
 - Дизайн
 - Usability: консультации и аудит
 - Изготовление сайтов
 - Наполнение сайтов
 - Прочие услуги
 
 - Не про работу
 
        В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
          Это на 45% больше, чем в 2022 году
        
        
              Оксана Мамчуева
          
            
          
        
      Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
                
            
        
Здравствуйте.
Есть страница pages.php, в которой организован вывод разделов сайта по id такого вида:
$result = mysql_query('SELECT `id`, `text` FROM `pages` WHERE id='.$id, $db);$row = mysql_fetch_array($result);
echo $row['text'];
В pages.php с помощью include вставляется колонка с названиями разделов сайта таким образом:
Все прекрасно работает, разделы выводятся.
Соответственно, есть страница сайта pages.php?id=17 (карта сайта), в нее вставляю тот же самый код, что и в sidebar.php для вывода разделов, но выдает только следующее в браузере:
В чем может быть проблема?
Ничего не понятно. Приведи полный код в котором проблема. Тот же что и в sidebar.php это не ответ.
И еще: что за pages.php&id=17 ? Может быть все таки pages.php?id=17 ??
Ничего не понятно. Приведи полный код в котором проблема. Тот же что и в sidebar.php это не ответ.
В pages.php?id=17
И еще: что за pages.php&id=17 ? Может быть все таки pages.php?id=17 ??
Да, именно pages.php?id=17, ошибся )
Видимо в $row[name] встречаются какие-то спецсимволы, попробуйте так
И обязательно проверьте чтобы блок PHP-кода в файле, который Вы вставляете с помощью include, был заключен в правильные начальный и конечные теги PHP
<?php
...
?>
поскольку при переходе в на обработку этого файла PHP-интерпретатор переключается из PHP режима в HTML режим, и его нужно переводить в режим PHP принудительно.
(был случай когда перед знаком вопроса нечаянно поставил пробел "< ?php" и начались проблемы)
Попробовал, выводит следующее в браузере:
Постараюсь написать про ситуацию более понятнее. Есть файл pages.php, в котором организован вывод контента из базы данных, который в свою очередь добавляется из админки. Все прекрасно выводится, но php почему-то не обрабатывается на, так называемых, внутренних страницах. Ничего не происходит, если просто написать:
Если открыть исходный код страницы, то видно, что там вписан этот самый код, который должен выдавать результат своей работы, в свою очередь sidebar.php, вставленный с помощью include отлично работает.
Если убрать <?php ?>, то выводит код, как текст, обрабатывая только html строчки.
Ну так у вас содержимое страницы (<?php echo 'привет!';?> как я понял?) выводится кодом:
а что будет если выполнить код
?
нужно eval использовать.
lospirata, Вы неоднократно описали ЧТО вставляете с помощью include, но не не сообщили КАК.
А ведь include может быть функцией в PHP
причем если в режиме HTML, нужно так (иначе выведется как текст только эта строка)
include('incl.php');
?>
А есть еще SSI-директивы include, например
А еще есть тег HTML
Проверьте для рабочего и проблемного случая, идентичным ли кодом Вы делаете вставку с помощью include, из одного ли каталога файл вставляется (в некоторых случаях разный результат может быть из-за разных настроек в файлах в .htaccess каталогов).
Ну так у вас содержимое страницы (<?php echo 'привет!';?> как я понял?) выводится кодом:
Так точно.
а что будет если выполнить код
В браузере выводится echo "";
lospirata, Вы неоднократно описали ЧТО вставляете с помощью include, но не не сообщили КАК.
В данном случае include совсем не важен, я им не вставляю код, который не обрабатывается. Вот полный код pages.php:
То, что вставлено с помощью include, отлично работает. Вместо строки
подставляются данные из базы, которые можно увидеть, перейдя по id (pages.php?id=2, например), разделы сайта. Вот в этом куске не хочет работать PHP.
То, что вставлено с помощью include, отлично работает. Вместо строки
подставляются данные из базы, которые можно увидеть, перейдя по id (pages.php?id=2, например), разделы сайта. Вот в этом куске не хочет работать PHP.
Так я же вам написал. Echo не будет обрабатывать никакой php код, эхо нужно для простого вывода строк на экран. Для выполнения php кода нужно использовать функцию eval.
<?php include "mysql.php"; include "design/header.php"; include "design/sidebar.php"; $result = mysql_query('SELECT `id`, `text` FROM `pages` WHERE id='.$id, $db); $row = mysql_fetch_array($result); echo $row['text']; include "design/footer.php"; ?>
Попробуйте выполнить такой код и напишите что выводит:
error_reporting (E_ALL);
include "mysql.php";
//include "design/header.php";
//include "design/sidebar.php";
$query='SELECT `id`, `text` FROM `pages` WHERE id="19"';
$result = mysql_query($query, $db);
echo mysql_errno($db) . ": ".mysql_error($db)." : ".$query."\n";
$row = mysql_fetch_array($result);
echo $row['text'];
//include "design/footer.php";
?>
Попробуйте выполнить такой код и напишите что выводит
То же самое:
В ячейке text хранится html код вместе с php. Вопрос в том, как наиболее эффективно вывести все это из базы с работой php. Может есть какая-то альтернатива функции eval?
Была идея создать разделитель функцией preg_split и после отделять куски php, но в цикле, где присутствует html, получится не совсем удобно.