PHP:“require_once”乱序

时间:2013-11-19 19:36:43

标签: php require-once

在我的index.php中,我有:

<?php

require_once('./headers/hed1.php');

require_once('./headers/hed2.php');

require_once('./headers/hed3.php');

echo 'TEXT';

?>

当我在我的电脑上运行它(使用XAMPP)时,我得到了我想要的结果:三个require_once的输出,然后是TEXT。

我将它上传到服务器,相同的代码具有不同的输出。我首先看到TEXT,然后是三个require_once。

我看到另一篇有同样问题的人发帖,但没有解决方案。 为什么输出id以不同的方式显示,如果它是唯一的? 有没有办法“重新排序”三个require_once?

先谢谢!

2 个答案:

答案 0 :(得分:5)

你的代码一切正常,它正确地由PHP回应,这是输出:

<table border="0" width=100%><tr><td>Hi!</td><td align=right><a href="index.php?login">Log in!</a>, <a href="index.php?register">Register!</a></td>main

问题在于您的HTML。它无效。该表未关闭。元素搞砸了。浏览器只是以错误的顺序呈现它。

答案 1 :(得分:1)

你不明白你的代码是如何工作的,html是如何工作的,也没有明确地调查为什么这不会产生意想不到的结果。

文件包含在正确的顺序中。输出以正确的顺序生成。不幸的是,HTML格式不正确,因此您的浏览器不知道如何正确呈现它。

如果你在你的rowser中'查看'源代码,你会得到以下内容(为了便于阅读而重新格式化)

<html>
  <body>
    <table border="0" width=100%>
       <tr>
         <td>Hi!</td>
         <td align=right><a href="index.php?login">Log in!</a>, 
                    <a href="index.php?register">Register!</a></td>
         main
      </body>
   </html>