1

我创建的网站有一个非常奇怪的问题。

基本上,我有一个使用“穷人路由器”构建的站点,因此当我访问 site.com/contact 时,它会在该目录中找到 index.php,该目录中设置了一些变量和一个包含我的站点骨架(主要结构体)。在骨架内部,我有另一个包含特定页面的内容,该内容由我之前提到的 index.php 文件中设置的变量指定。

所以问题是当我进入这个联系页面时,我有一个联系表格,一旦提交就应该发送一封电子邮件。一切看起来都很好,但是联系页面内容文件中的 PHP 从未执行过。所以我似乎已经把它缩小到一个问题,如果内容文件比骨架文件的目录更深,它就不起作用。让我告诉你目录是如何的:

/
--skeleton.php

--/content
----contact.php

--/contact
----index.php

所以它是 index.php -> skeleton.php -> contact.php

contact.php 中的 PHP 不起作用,除非我把它放在根目录中。为什么这样做?我知道我正在做的不是最理想的方式,但这不是我寻求帮助的方式。我只需要知道为什么以这种方式组织文件时没有执行 PHP。

//INDEX.PHP

$content = 'contact.php';

include('../skeleton.php');
//SKELETON.PHP

include($site . 'content/' . $content);
//CONTACT.PHP

if($send_info == 1) {
    // send email
} else {
    // show form
}
4

1 回答 1

1

在没有看到更多代码的情况下,一个建议是您的包含文件引用了不正确的路径。你知道skeleton.php 和contact.php 文件正在加载吗?您能否在每个文件中放置一些调试行来回显输出消息以显示文件正在加载以及它们到达的位置?您可以将 include('filename') 更改为 require('filename') 以查看它们是否实际上被包含在内?

于 2013-10-30T19:58:35.413 回答