php - PHP C联系表格
问题描述
我试图让这个 PHP 表单工作,每次我提交表单时,浏览器都会返回 else 语句但不执行上面的 if 语句,我错过了什么?
<?php
if (isset($_POST['submit'])) {
$name = $_POST['name'];
$subject = $_POST['subject'];
$mail = $_POST['mail'];
$message = $_POST['message'];
$to = '***.*****@gmail.com';
$subject='Form submission';
$message="Name: ".$name."\n". "Wrote the following: "."\n\n".$message;
$headers="From: ".$mail;
if (mail($to, $subject, $message, $headers)) {
echo "<h1>Sent Successfully! Thank you"." ".$name.", I will contact you shortly.</h1>";
}
else {
echo "Something went wrong! Contact me at alec.dannmayr@gmail.com";
}
}
?>
<input type="text" name="name" placeholder="Full Name">
<input type="text" name="mail " placeholder="Email">
<input type="text" name="subject" placeholder="Subject">
<textarea name="message" placeholder="Message" cols="30" rows="10"></textarea>
<input type="submit" name="submit"></input>
</form>
解决方案
你的mail()
功能有问题。如果有任何触发,请尝试查看您的邮件日志。通常位于 /var/log/mail.log 或 /var/log/mail.err 下,具体取决于您的配置。您是否尝试过发送不带标题的邮件(只是为了尽量减少可能的错误)。
配置 mail() 函数以使其正常工作可能会很痛苦。看这篇文章,它可能会给你一个提示。您是否有理由使用更高级的技术 mail() 函数?您可以使用 fe https://github.com/PHPMailer/PHPMailer,它支持更好的错误/调试管理。
推荐阅读
- swift - Swift HTTP 请求完成块无法正常工作
- swiftui - 如何在可扩展列表 SwiftUI 中移动元素
- mysql - 哪个是执行三重连接查询的最佳性能设置
- java - Apache Camel Spring Boot Java - 如何将动态值从休息路由传递到来自文件的路由?
- javascript - 使用功能组件中的 useState 反应无效的挂钩调用错误
- java - 在 redis sentinel 上使用 asyncRedisCommands 的 Redis 生菜设置
- c++ - 使 int 返回函数表现为左值和右值
- json - 为 Azure 资源创建复制循环
- flutter - 如何使用 Getx 修复 Flutter 中的导航栏悬停问题
- r - 了解有关箱线图的 ggplot2 文档中的数字