Php include()不';当我的页面已获取参数时无法工作

Php include()不';当我的页面已获取参数时无法工作,php,html,cakephp,Php,Html,Cakephp,我有一个header.php文件,其中包含我的DOCTYPE和所有链接/脚本 我用 在我所有页面的顶部,每个人只有一个标题,而且效果很好 现在,我有了另一个页面,可以从数据库中获取我的产品信息摘要。当有人点击“阅读更多”链接时: 另一个页面将打开并显示完整信息。。。 事实上这很有效 但是在我的新页面(display\u product.php/id=[anynumber])上,我包含的文件不起作用。所以我没有导航栏,没有脚本,没有样式表。只有我数据库中的文本 奇怪的是,当我复制/粘贴生

我有一个
header.php
文件,其中包含我的DOCTYPE和所有链接/脚本

我用


在我所有页面的顶部,每个人只有一个标题,而且效果很好

现在,我有了另一个页面,可以从数据库中获取我的产品信息摘要。当有人点击“阅读更多”链接时:


另一个页面将打开并显示完整信息。。。 事实上这很有效

但是在我的新页面(
display\u product.php/id=[anynumber]
)上,我包含的文件不起作用。所以我没有导航栏,没有脚本,没有样式表。只有我数据库中的文本

奇怪的是,当我复制/粘贴生成的
display\u product
页面的HTML并在浏览器上启动它时,它就工作了。。。O-O
所以生成的代码是好的

第二件奇怪的事情是,当我去掉
/?id.
时,我的布局很好(当然,我没有文本了)


你们当中有人知道为什么会发生这种疯狂的事情吗?

对于有路径问题的
include
require
函数,最终的解决方案是使用您想要包含或需要的文件的绝对文件系统路径

i、 e你可以说:

include("C:\\www\\app\\incs\\header.php");
提示 要了解如何为项目动态设置include的绝对路径,请检查framework的两个文件的源代码:

  • index.php
  • webroot/index.php

“嗨,伙计们,非常感谢弗雷德-ii,就是这样。它工作得很好。谢谢塞尔吉奥德布肯的关心。”

由于给出了其他答案,但没有解决实际问题,因此我将我的评论发布到一个答案上,以结束问题

  • /?id

斜杠试图指示服务器可能在文件名后找到一个文件夹,从技术上看,这就是这里发生的事情。

/-id
中删除斜杠。您在页面中正确地包含了标题吗?嗨,伙计们,非常感谢Fred-ii,就是这样。它工作得很好。谢谢sergiodebcn的关心所以。。。“问题解决了,我接受了。@JulienSegreto我决定在下面发布一个答案,因为已经给出了其他答案,您是否愿意接受并正确地结束这个问题?”。
<p>
    <a href="display_product.php/?id='$myProductId'">read more...</a>
</p>
include("C:\\www\\app\\incs\\header.php");