我对我创建的网站有一个非常奇怪的问题。
基本上,我有一个用“穷人的路由器”构建的网站,所以当我访问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
}
答案 0 :(得分:1)
如果没有看到更多代码,一个建议就是您的包含文件引用了错误的路径。你知道skeleton.php和contact.php文件正在加载吗?你可以在每个文件中放置一些调试行来回显输出消息,以显示文件正在加载以及它们到达的位置吗?你能否将include('filename')更改为require('filename')以查看它们是否实际被包含在内?