包括不工作,是否包括太多?

时间:2014-09-19 05:00:57

标签: php html

您好StackOverFlow成员。
我需要一个关于我的编程脚本的帮助。
我惊呆了,试着用不同的方法让我的代码更简单。
在我尝试简化之前。代码工作得很好,它能够完成这个功能。
开始:

在我尝试稍微调整它之前检测PHP上的HTML工作:

<?php
include 'Mobile_Detect.php';
$detect = new Mobile_Detect();

if ($detect->isMobile()) {
    header('Location: http://facebook.com');
    exit(0);
}
?>

<b> Testing / This is not a supported page for mobile </b>

这段代码就像一个魅力。当我使用浏览器访问以下页面时。 它向我显示了消息&#34;测试/这不是移动支持的页面&#34;。

当我使用手机访问它时,它就像一个魅力,并将我重定向回Facebook。

所以这是我遇到的新问题。 我刚刚从HTML中删除了PHP并将其放在名为&#34; detection.php&#34;

的文件中
<?php
include 'detection.php';    
?>

<b> hello </b>
<p> testing on anarchy </p>

但这一次,当我使用网络浏览器访问该网站时,它向我展示了这条消息 &#34;对无政府状态进行测试&#34;当我使用移动设备时。它仍然将我重定向到同一页面 &#34;对无政府状态进行测试&#34;。

我们如何以一种只需要在HTML标头上包含PHP文件而不是在HTML页面上编写PHP代码的方式来创建它。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

尝试使用:您必须使用括号(&#39;页面&#39;);并且您不应重复任何代码,因为您已经从另一个页面调用代码,因此您添加的是:

    <?php 
    include('Mobile_Detect.php');
    ?>

并在mobile_detect.php页面上添加:

<?php
$detect = new Mobile_Detect();

if ($detect->isMobile()) {
    header('Location: http://facebook.com');
    exit(0);
}
?>

答案 1 :(得分:0)

始终使用“require”而不是“include”。 如果函数找不到该文件,“require”将抛出致命错误,并且脚本将暂停。 如果函数找不到文件并且脚本继续运行,“include”会抛出警告,这意味着如果关闭PHP错误,您可能不会注意到此错误。

还要依靠“require_once”来避免诸如“无法重新声明功能”或“无法重新声明常量”等问题。

另外,如果您使用“header()”,则需要确保在“标题”功能之前没有使用“print”或“echo”。否则,您将收到“已发送标头”错误。

要调试您的问题,您应该使用“require_once”,然后您应该检查它是否失败。如果失败,那么你的路径可能有问题。