php include函数使我的页面空白

时间:2014-05-16 18:18:06

标签: php include

当我尝试在页面中包含php菜单和/或页脚时,整个页面只显示空白。但是,如果我采用相同的代码并将其放回index.php html中,它就可以了。我做错了什么?

这是索引页面:

<div id="navigation">
<?php include 'menu.php'; ?>
        </div>
    <div id="content">
<?php
    echo "Hello World!";
?>
</div>
    <div id="footer">
    <?php include 'footer.php'; ?>
    </div>

好的,这是menu.php和footer.php页面: 菜单:

<?php
echo "<ul>
    <li><a href="index.php">main</a></li>
    <li><a href="info.php">php info</a></li>
    <li><a href="wda1.php">Assignment 1</a></li>
    </ul>";
    ?>

页脚:

<?php
    echo "$filename = 'index.php';
        if (file_exists($filename)) {
        echo "This page was last modified: " . date ("F d, Y H:i:s.", filemtime($filename));
}";
        ?>

http://www.w3schools.com/php/php_includes.asp的教程会让我相信我正确地做到了这一点,但事实并非如此。非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

下面:

第一个文件:( index.php我推测?)

<div id="navigation">
<?php include 'menu.php'; ?>
        </div>
    <div id="content">
<?php
    echo "Hello World!";
?>
</div>
    <div id="footer">
    <?php include 'footer.php'; ?>
    </div>

菜单:

<?php
echo '<ul>
    <li><a href="index.php">main</a></li>
    <li><a href="info.php">php info</a></li>
    <li><a href="wda1.php">Assignment 1</a></li>
    </ul>';
    ?>

页脚:

<?php

echo $filename = 'index.php';

  if (file_exists($filename)) {
    echo "This page was last modified: " . date ("F d, Y H:i:s.", filemtime($filename));
}

// else not required but will show nothing if file doesn't exit
// you can remove it, it's optional
else{
echo "<br>This is not index.php. But will still show the filename above this.";
}

?>

以下是对所犯错误的总结:

1)echo "<ul><li><a href="index.php">main</a></li>

  • 您可以为您的超链接转义双引号\",或者使用单引号将回声换行,如上面的答案中所示;它的工作量少了很多。

然后:

2)echo "$filename = 'index.php'; ... }";

  • 你用双引号包装整个代码,希望它能做到这一点;回声。这将产生一个解析错误,这几乎是你在#1 中所做的抄本。
  • 删除$filename之前的第一个双引号,然后删除最后一个}";

排查提示

将错误报告添加到文件的顶部 error_reporting(E_ALL); ini_set('display_errors', 1);这将表示您的代码中发现的任何错误,并指导您。

有关错误报告的更多信息,请访问PHP.net: