您好我正在尝试获取一段html仅在主页上显示http://www.domain.com/ ...我在下面编写了代码,但无论页面是什么,它都无法显示我错过了什么
<?php
$hweb .= 'http://' .$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
if ($hweb == 'http://www.domain.com/'):
?>
<div style="margin:0 auto;">
<div style="float:left">
<?php endif; ?>
答案 0 :(得分:1)
首先 - 请更改
$hweb .= 'http://' .$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
到
$hweb = 'http://' .$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$ hweb可能会在之前的某个地方初始化。
第二
只要您请求'http://www.domain.com/somename.php',您的if条件将永远不会被执行。 REQUEST_URI将始终保留'/sameame.php',除非您使用某些网址重写。
第三: 确保所有电话都转到“http://www.domain.com”而不是“http://domain.com”。子域配置有时非常复杂。
答案 1 :(得分:0)
冒着再次犯错的风险..
为什么不在包含标题
之前初始化主文件中的变量<?php
$mainfile = true;
?>
然后在标题
中<?php
if ($mainfile===true)
....
这样,主文件可以被调用任何东西并放在任何地方。
答案 2 :(得分:0)
解决方案1: 如果上面的代码写在“http://www.domain.com/index.php”文件中,那么它可能正常工作。 解决方案2: 否则请确保$ hewb在此代码之前设置为空值b4,以便“。=”不会添加额外值b4'http ...'。
现在
$ hweb ='';
echo $ hweb。='http://'。$_SERVER ['HTTP_HOST']。$ _ SERVER ['PHP_SELF'];
答案 3 :(得分:-3)
这是因为HTML在php文件中是内联的,但在PHP标签之外。您可以简单地在if。
中回显HTMLif ($hweb == 'http://www.domain.com/')
{
echo '<div style="margin:0 auto;">';
echo '<div style="float:left">';
}
或者如果你有很多HTML,你就可以这样做
<?php
ob_start();
?>
<html>
<body>
<p>This HTML only be echoed </p>
</body>
</html>
<?php
$hweb .= 'http://' .$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
if ($hweb == 'http://www.domain.com/'):
{
ob_end_flush();
}
else
{
ob_end_clean(); // Probably not needed
}
?>