如何在html文件中包含一个php文件,该文件又包含html标签

时间:2019-04-03 15:50:04

标签: php html5 include

我已在我的网站上添加了一个评论部分。它工作正常,但是w3验证程序显示有关杂散标签(Doctype,HTML,Head,body等)的错误

评论部分生成内容,并由php,css和js文件组成。我已将所有文件放入“ recensioni”文件夹中,并且在主页正文中包含了index.php路径。 recensioni / index.php依次包含带有html标签的php文件。这些标签在主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 :(得分:0)

您有不同的方式(在文档中查找),但是您可以测试require(“ file.php”);需要“ file.php”; require_once(“ file.php”)或包含类型

答案 1 :(得分:0)

我建议使用inc/文件夹来存放header.phpfooter.php文件。头文件应该在HTML文件的开头到开始的body标记中都包含所有代码(如果要包括全局导航系统,则应包含更低的代码)。页脚文件应包含结束body标记下的所有代码(如果需要,您可以在此处放置页脚内容)。

然后可以根据需要使用.phpinclude()函数将这些文件作为require()文件的第一行和最后一行。

此策略对我创建的项目非常有效!我唯一要提出的建议是使用带有路由配置的模板引擎,该模板引擎可以缓解您的问题。