我有一个header.php
文件,其中包含我的DOCTYPE和我的所有链接/脚本。
我用
<?php
// HTML DOCTYPE insert
include 'header.php';
?>
在我的所有网页的顶部,每个人只有一个标题,而且效果很好。
现在,我有另一个页面从数据库获取我的产品信息摘要。当有人点击&#34;阅读更多&#34;链接:
<p>
<a href="display_product.php/?id='$myProductId'">read more...</a>
</p>
打开另一个页面,显示完整信息... 实际上有效...
但在我的新页面(display_product.php/id=[anynumber]
)上,我所包含的文件无效。所以我没有导航栏,没有脚本,没有样式表。只有我数据库中的文字。
而奇怪的是,当我复制/粘贴我生成的display_product
页面的HTML并在我的浏览器上启动它时,它可以工作...... O-o
所以生成的代码很好。
第二个奇怪的是,当我摆脱/?id...
我的布局工作正常(但我当然没有文字了)
你们其中一个人是否知道为什么会发生这种疯狂的事情?
答案 0 :(得分:1)
“大家好,非常感谢Fred -ii就是这样。它完美无瑕。感谢sergiodebcn的关注。”
由于给出了其他答案并且没有解决实际问题,我将评论发布到答案,以便结束问题。
/?id
斜杠试图指示服务器可能在文件名后找到一个文件夹,这在技术上看起来就像这里发生的那样。
答案 1 :(得分:-1)
include
和require
函数与路径问题的最终解决方案是使用要包含或要求的文件的绝对文件系统路径。
即你可以说:
include("C:\\www\\app\\incs\\header.php");
<强>提示强> 要了解如何为项目动态设置包含的绝对路径,请检查cakephp框架的两个文件的源代码: