我是PHP的新手,我的主要问题是,在运行带有MAMP的本地服务器时,网站页面工作正常,但是当托管在远程仓库上时,整个header.php的内容被填充到{{1而不是<body>
。我的代码如下:
<head>
当我在localhost上加载它时,头部出现在它应该的位置,一切都很好,当我在网上看到它时,代码看起来像这样;
<?php
$pageName = "This is my page title";
$isHomeStyle = true;
$mainjs = true;
$flexisel = false;
$lazyload = false;
include("includes/header.php");
include("includes/navbar.php");?>
<body>
...
</body>
显然那不对,我错过了什么?
编辑:head.php文件如下:
<head></head>
<body>
<div class="navbar"></div>
<title>This is my Page title</title>
<link rel="stylesheet" href="project/css/home.css" />
<link rel="stylesheet" href="project/css/styles.css" />
...
<body>
问题已解决问题在于我使用速记标签,显然它并不是完全支持所有地方。谢谢大家!
答案 0 :(得分:2)
您没有在HTML中关闭<head>
。有些浏览器(肯定是Chrome)会尝试智能地操作DOM来修复语法HTML错误。在这种情况下,我相信您的浏览器会自动将包含的输出直接放入正文中。在开始</head>
标记之前添加结束<body>
标记,您应该没问题。另外,我非常确定你的include("includes/navbar.php");
应该在实际的身体中。
答案 1 :(得分:1)
始终使用
<?php ?>
来分隔PHP代码,而不是<? ?>
简写。这是PEAR合规性所必需的,也是在不同操作系统和设置中包含PHP代码的最便携方式。
这可能是因为它适用于localhost但不适用于您的在线仓库。
另外,请务必将include("includes/navbar.php");
移到<body>
标记内。