只有我的第一个PHP标签被使用


Only my first PHP tag is being used

基本上,浏览器实际上只使用了我的第一个php标签。一切都正常工作,然后由于某种原因,除了我的标题之外的所有内容都消失了。网站上的每个页面也是一样的。

这是我的索引文件,例如:

<?php require_once('includes/header.php'); ?>
<?php require_once('includes/footer.php'); ?>

用户唯一显示的是标题。如果我注释掉对页眉的要求,则会显示页脚,但不会显示页眉......

这是我的头文件:

<?php ob_start(); ?>
<?php session_start(); ?>
<!DOCTYPE = html>
<html lang="en-us">
    <head>
        <meta charset="UTF-8">
        <title>7four</title>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
          integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
        <link href="font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
</head>
<body>
    <?php
    if(isset($_SESSION['username'])) {
        require_once('includes/logged_nav.php');
    } else {
        require_once('includes/nav.php');
    }
    ?>
<?php require_once('functions.php'); ?>
<?php require_once('db.php'); ?>

我到底该如何解决这个问题?对不起,如果我太密集了!

不显示任何内容?或者"查看源"部分中不显示任何内容。

< ! DOCTYPE = html >中删除=,然后重试。

删除头文件上的<?php ob_start(); ?>。如果要使用 ob_start();你需要设置

$output = ob_get_contents();
ob_end_clean();

print $output;放在索引文件上。

查看有关ob_start的更多文档

你在某处有一个错误,可能在函数.php或 db.php 中。您的错误报告已关闭,页脚不会在此处显示:

<?php require_once('includes/header.php'); ?>
<?php require_once('includes/footer.php'); ?>

页脚在此处正确显示:

<?php require_once('includes/footer.php'); ?>

结论:如果查看服务器上的日志或打开错误报告,则需要查找错误。如果您的网站在线,那么我建议您查看日志并避免向用户显示错误。找到错误并修复它。之后,页脚也将显示。专注于在此问题开始发生之前所做的最后更改。

好的,这个问题是通过在 nav.php 中要求我的函数.php文件来解决的。然后我意识到我需要我的函数.php下面要显示导航的文件,因此导航无法正确访问函数.php。基本上我犯了一个愚蠢的错误。很抱歉浪费了你所有的时间!

相关文章: