提交表单时未发送电子邮件

时间:2013-10-30 19:24:14

标签: php forms

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

基本上,我有一个用“穷人的路由器”构建的网站,所以当我访问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
}

1 个答案:

答案 0 :(得分:1)

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