基本上,浏览器实际上只使用了我的第一个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。基本上我犯了一个愚蠢的错误。很抱歉浪费了你所有的时间!