我的PHP页面上没有显示任何HTML
我有3个文件(只有这三个是重要的):footer.php、header.php和index.php。在index.php中,我有一些php说我的PHP页面上没有显示任何HTML,php,html,Php,Html,我有3个文件(只有这三个是重要的):footer.php、header.php和index.php。在index.php中,我有一些php说require header.php和require footer.php。我相信我所有的HTML都是正确的,没有错误。我将展示一个例子,说明它在哪里出了问题。我在mac上使用XAMPP服务器,php文件header.php中有以下HTML: <a href="#"> <img src="images/logo.png" alt="
require header.php
和require footer.php
。我相信我所有的HTML都是正确的,没有错误。我将展示一个例子,说明它在哪里出了问题。我在mac上使用XAMPP服务器,php文件header.php中有以下HTML:
<a href="#">
<img src="images/logo.png" alt="Logo">
</a>
但是,当我在php页面上使用inspect元素时,会显示以下内容:
<header>
<nav>
<a href="#">
</a>
</nav>
</header>
请记住,这些头标记中应该有更多的代码,但仅此而已。在inspect中,它显示为0×1024或类似的元素。我的标题有什么问题
以下是我的header.php文件供参考:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
</head>
<body>
<header>
<nav>
<a href="#">
<img src="images/logo.png" alt="Logo">
</a>
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="#">More</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Portfolio</a></li>
</ul>
<div>
<form action="includes/login.inc.php" method="post">
<input type="text" name="mailuid" placeholder="Username/Email...">
<input type="password" name="pwd" placeholder="Password...">
<button type="submit" name="login-submit">Login</button>
</form>
<a href="signup.php">Signup</a>
<form action="includes/logout.inc.php" method="post">
<button type="submit" name="logout-submit">Logout</button>
</form>
</div>
</nav>
</header>
</body>
</html>
登录
注销
编辑:以下是index.php代码:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Test I guess</title>
</head>
<body>
<?php
require "header.php";
?>
<main>
<p>You are logged out!</p>
<p>You are logged in!</p>
</main>
<?php
require "footer.php"
?>
</body>
</html>
我猜是测试
您已注销
您已登录
在HTML方面根本没有显示任何内容,甚至标题也没有显示。请执行以下操作
如果问题仍然存在,我需要更多信息。下面是头文件的外观
<header>
<nav>
<a href="#">
<img src="images/logo.png" alt="Logo">
</a>
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="#">More</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Portfolio</a></li>
</ul>
<div>
<form action="includes/login.inc.php" method="post">
<input type="text" name="mailuid" placeholder="Username/Email...">
<input type="password" name="pwd" placeholder="Password...">
<button type="submit" name="login-submit">Login</button>
</form>
<a href="signup.php">Signup</a>
<form action="includes/logout.inc.php" method="post">
<button type="submit" name="logout-submit">Logout</button>
</form>
</div>
</nav>
登录
注销
这里有两个单独的HTML文档,一个在header.php中,一个在index.php中。然后将一个包含在另一个中。这对浏览器没有意义,可能是问题的主要原因 浏览器希望使用单个连贯的HTML文档。因此,浏览器的每个最终输出(由PHP脚本组合生成)必须仅包含一个
标记、一个
标记和一个
标记
这将更有意义:
header.php
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Your site name</title>
</head>
<body>
<header>
<nav>
<a href="#">
<img src="images/logo.png" alt="Logo">
</a>
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="#">More</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Portfolio</a></li>
</ul>
<div>
<form action="includes/login.inc.php" method="post">
<input type="text" name="mailuid" placeholder="Username/Email...">
<input type="password" name="pwd" placeholder="Password...">
<button type="submit" name="login-submit">Login</button>
</form>
<a href="signup.php">Signup</a>
<form action="includes/logout.inc.php" method="post">
<button type="submit" name="logout-submit">Logout</button>
</form>
</div>
</nav>
</header>
<?php
require "header.php";
?>
<main>
<p>You are logged out!</p>
<p>You are logged in!</p>
</main>
<?php
require "footer.php"
?>
</body>
</html>
您的站点名称
登录
注销
index.php
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Your site name</title>
</head>
<body>
<header>
<nav>
<a href="#">
<img src="images/logo.png" alt="Logo">
</a>
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="#">More</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Portfolio</a></li>
</ul>
<div>
<form action="includes/login.inc.php" method="post">
<input type="text" name="mailuid" placeholder="Username/Email...">
<input type="password" name="pwd" placeholder="Password...">
<button type="submit" name="login-submit">Login</button>
</form>
<a href="signup.php">Signup</a>
<form action="includes/logout.inc.php" method="post">
<button type="submit" name="logout-submit">Logout</button>
</form>
</div>
</nav>
</header>
<?php
require "header.php";
?>
<main>
<p>You are logged out!</p>
<p>You are logged in!</p>
</main>
<?php
require "footer.php"
?>
</body>
</html>
您已注销
您已登录
footer.php
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Your site name</title>
</head>
<body>
<header>
<nav>
<a href="#">
<img src="images/logo.png" alt="Logo">
</a>
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="#">More</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Portfolio</a></li>
</ul>
<div>
<form action="includes/login.inc.php" method="post">
<input type="text" name="mailuid" placeholder="Username/Email...">
<input type="password" name="pwd" placeholder="Password...">
<button type="submit" name="login-submit">Login</button>
</form>
<a href="signup.php">Signup</a>
<form action="includes/logout.inc.php" method="post">
<button type="submit" name="logout-submit">Logout</button>
</form>
</div>
</nav>
</header>
<?php
require "header.php";
?>
<main>
<p>You are logged out!</p>
<p>You are logged in!</p>
</main>
<?php
require "footer.php"
?>
</body>
</html>
然后只输出一个HTML文档,所有页面上都不需要不必要的重复标记,但HTML文档仍然保持打开状态,以便各个页面添加正文内容。Your header.php包含整个页面,包括
标记。它不应该是局部的,并且只包含
标记和内容吗?请尝试查看源代码,而不是检查元素,以查看PHP输出的内容。另外,请向我们显示index.PHPcode@Cid我删除了所有的东西,除了
标签,没有任何改变。@Moayad.AlMoghrabi doneYeah,这是非常可靠的建议。OP应该考虑这一点。实际上,我的观点是鼓励你更新你的答案来反映它。但是我现在已经添加了我自己的更全面的答案和完整的解决方案。出于某种原因,这段代码仍然不起作用。此时我想,问题可能是HTML没有以某种方式更新(我不知道),因为有一点我的代码看起来像页面输出的代码。我真的不知道发生了什么事。作为参考,我使用了您使用的确切代码(加上footer.php中的开始和结束
标记),而查看源代码中的源代码根本没有更改。您能否更准确地定义“不工作”的含义?现在您已经做了这些更改。您现在在浏览器的视图源中看到了什么实际输出?您的PHP错误日志中是否有任何错误(假设您已经设置了错误日志,您应该这样做)。(您是否在浏览器中执行了Ctrl+F5以确保它从Web服务器刷新页面,并且不尝试使用缓存副本?)。我现在使用的是基于Chrome的浏览器,我刚刚尝试了Safari,但一切都没有改变。我真的不明白发生了什么。也许你没有在服务器上更新正确的文件。尝试在PHP代码中添加一些日志,以便在运行时将文件写入磁盘。然后,您希望能够确定它是否正在执行您认为是的文件。还要检查PHP日志中是否有任何错误(希望您已经配置了)。或者尝试使用这段新代码创建一个全新的PHP文件,并尝试从浏览器中运行它。很抱歉浪费了您的时间。我开始检查所有文件的位置,大约一分钟后,我意识到文件有两个副本:一个在我的桌面上,另一个在HTDocs文件夹中。