使用PHP表单发送电子邮件-所有表单输入均为空
我完全不懂PHP,但最近的一个网络项目要求我发送电子邮件。从网上的研究来看,这个网站包含了这似乎是一件非常简单的事情。每次我提交表单时,PHP运行正常,但我的所有表单字段都为空,它们在_POST数组中可用,但从来没有任何内容 HTML: PHP 如果我创建一个简单的php脚本来测试邮件函数,它工作得很好,所以它必须是表单和php之间的通信。值得一提的是,该网站是在IIS的Windows Server 2012上运行的/ 这已经让我沮丧了好几个小时了,所以任何建议都很好 编辑 不确定这是否相关,但如果我查看$\u POST中传递的内容,我得到的只是一个空数组。我的web服务器上可能有什么东西阻止了它吗?我正在运行Windows Server 2012 首先,检查您是否有一个提交点击按钮使用PHP表单发送电子邮件-所有表单输入均为空,php,html,forms,email,Php,Html,Forms,Email,我完全不懂PHP,但最近的一个网络项目要求我发送电子邮件。从网上的研究来看,这个网站包含了这似乎是一件非常简单的事情。每次我提交表单时,PHP运行正常,但我的所有表单字段都为空,它们在_POST数组中可用,但从来没有任何内容 HTML: PHP 如果我创建一个简单的php脚本来测试邮件函数,它工作得很好,所以它必须是表单和php之间的通信。值得一提的是,该网站是在IIS的Windows Server 2012上运行的/ 这已经让我沮丧了好几个小时了,所以任何建议都很好 编辑 不确定这是否相关,但
if (isset($_POST['submit'])) {
// Setup your variables here.
}
如果您只想创建一个用于测试的项目和一些简单的用于学校的项目,这很好,但不建议在生产环境中使用此代码,因为这是不安全的
请检查您的操作路径文件是否正确。我已经在我的本地机器上测试了你的表单,它工作正常。只需选中submit按钮。在PHP文件的开头打印$SPOST,就在清理输入所需的第一个按钮下方,与往常一样,使用post get会话和请求值。但是,您是否尝试过用静态值重放mail中的变量,只是为了调试一点,它是否甚至达到了您的if语句,它是否使用头重定向您,php mail是否在您的服务器上使用phpinfo处于活动状态,所有调试步骤都需要一点。此外,我想知道将提交值放入文本文件的目的是什么。向我们展示更多关于哪些不起作用,哪些不起作用的信息。编辑:为什么您有必填字段,但您的表单发送一个novalidate?您的web服务器是否可能没有对newfile的写入权限?你有没有检查过你的PHP日志,看看有没有错误?谢谢大家的回复。随着最后修改日期的更改,文件肯定有写入权限,不过我明天会尝试打印,看看是否有帮助。Php邮件肯定是活动的,因为如果我运行一个示例脚本,它会很好地发送电子邮件,我也不会得到重定向。no validate是以前实现的遗留问题,现在已被删除。您可以尝试不使用操作路径中的波浪号吗?感谢您的回复,我最初选中了“提交”,但作为测试更改为“检查电子邮件”。操作文件绝对正确,因为我的文件的最后修改日期已更改。只是没有内容。是否有任何iis设置会影响它?在按下提交按钮后,您会收到什么类型的消息或结果?我进入PHP,但只显示一个空白页面。我猜这是因为它命中的IF语句不符合条件,所以没有其他情况发生。首先,请检查是否设置了条件。如果设置为$_POST['email']{code…}或者{diererror.}是的,如果我使用这个,我只会在空白页上得到error这个词
<?php
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = $_POST['submit'];
fwrite($myfile, $txt);
fclose($myfile);
if(isset($_POST['email'])){
$to = "james@soursquare.co.uk"; // this is your Email address
$from = $_POST['email']; // this is the sender's Email address
$first_name = $_POST['name'];
$company = $_POST['company'];
$subject = "New Website Enquiry";
$message = $_POST['message'];
$fullMessage = 'Email from: ' . $from . '/nEmail Address: ' . $from . '/nCompany: ' . $company . '/nMessage: ' . $message;
$headers = "From:" . $from;
mail($to,$subject,$fullMessage, $headers);
header('Location: /thankyou');
}
?>
if (isset($_POST['submit'])) {
// Setup your variables here.
}