Как включить в html-файл php-файл, включающий, в свою очередь, html-теги - PullRequest
0 голосов
/ 03 апреля 2019

Я добавил раздел обзора на свой сайт.Это работает отлично, но валидатор w3 показывает ошибки о паразитных тегах (Doctype, Html, Head, body ...)

Раздел обзора генерирует содержимое и состоит из файлов php, css и js.Я поместил все файлы в папку «recensioni» и включил путь index.php внутри тела моей домашней страницы.recensioni / index.php включает в себя php файлы с HTML-тегами.Эти теги дублируются в основном html и влияют на его поток: «Ошибка: блуждающий тип документа».... "Начальное тело тега замечено, но элемент того же типа уже открыт" "Конечный тег тела виден, но были незакрытые элементы"

Домашняя страница index.php:

<!DOCTYPE html>
...
<p id="recensioni" style="height:10px;"></p>
<div class="group-container txt-center" >
<h1 >CHI HA FREQUENTATO DICE</h1>
<div  class= "back-corsi">
 <?php include_once $_SERVER['DOCUMENT_ROOT']. '/recensioni/index.php';?>
</div>
</div>
...

recensioni / index.php:

...
include 'recensioni.html.php';

try {
      $sql='SELECT * FROM corsi';
      $result=$pdo->query($sql);
    } 
catch (Exception $e) {
      $error='Errore nel recupero recensioni: ' . $e->getMessage();
      header('Location: .?errorDB=218');  
      exit(); 
    }
foreach ($result as $row) {
    $corsi[]=array ('id'=>$row['id'], 'corso'=>$row['nome_corso']);   
    }

 include 'nuova_recensione.html.php';

nuova_recensione.html.php:

<!DOCTYPE html>
...
<body onload="<?php if($location==="inputField"){ ?> location.href='#inputField'; <?php }  if (isset($action)){ ?> alert_message() <?php  } ?>">

    <?php
    if (isset($action)){?>
    <div id="dialog-message" title="<?php echo htmlout($title);?>">
    <p id="message"><?php echo htmlout($message) ?></p>
    </div>
    <?php  } ?>

<div class="row row-one-colunm-padding"> 
...

Как решить эту проблему?Какое решение я должен принять?Спасибо

Ответы [ 2 ]

0 голосов
/ 03 апреля 2019

Я предлагаю использовать папку inc/ для хранения ваших header.php и footer.php файлов.Заголовочный файл должен включать весь код в начале HTML-файла вплоть до открывающего тега body (и даже ниже, если вы хотите включить глобальную навигационную систему).Файл нижнего колонтитула должен включать весь код из закрывающего тега body вниз (вы можете разместить здесь содержимое своего нижнего колонтитула, если хотите).

Затем вы можете включить эти файлы в качестве первой и последней строки .php файл, используя функцию include() или require(), в зависимости от ваших потребностей.

Эта стратегия хорошо сработала для меня с проектами, которые я создал!Единственное, что я могу предложить, - это использовать шаблонизатор с конфигурацией маршрутизации, которая должна решить вашу проблему.

0 голосов
/ 03 апреля 2019

у вас другой способ (ищите в документации), но вы можете протестировать require ("file.php"); требует "file.php"; require_once ("file.php") или тип include

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...