【发布时间】:2013-12-10 15:07:19
【问题描述】:
在本教程的帮助下,我整理了一个带有验证的表单:http://www.w3resource.com/php/form/php-form-validation.php
我希望有人能指出我哪里出错了?当我的验证成功时,我收到了一封感谢邮件,但没有邮件通过我的收件箱:(
<?php
if (isset($_POST['submit'])) {
//checking name
if(empty($_POST['full_name']))
$msg_name = "*";
$name_subject = $_POST['full_name'];
//check phone number
if(empty($_POST['Phone_Num']))
$msg_Phone = "*";
$email_subject = $_POST['Phone_Num'];
//check email
if(empty($_POST['email_addr']))
$msg_email = "*";
$email_subject = $_POST['email_addr'];
$email_pattern = '/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/';
preg_match($email_pattern, $email_subject, $email_matches);
if(!$email_matches[0])
$msg2_email = "Please enter a valid email address";
}
// validation complete
if(isset($_POST['submit'])){
if($msg_name=="" && $msg2_name=="" && $msg_email=="" && $msg2_email=="" && $msg2_Message=="")
$msg_success = "Thankyou for your enquiry";
//send mail
$to = "someone@email.com";
$subject = "Data collected thorugh from";
$message = "<p>".$_POST["full_name"]."</p><p>".$_POST["Phone_Num"]." </p><p>".$_POST["email_addr"]."</p><p>".$_POST["Message"]."</p>";
$from = "someone@email.com";
mail($to,$subject,$message);
}
?>
【问题讨论】:
-
您自己做过ANY调试吗?检查
mail()的返回值是否失败?检查你的邮件服务器的日志,看看一旦 php 把邮件交给了邮件发生了什么?检查您的垃圾邮件文件夹以防邮件被删除? -
你在哪里运行这个代码本地/服务器...如果它在服务器检查 SMTP 设置
-
您好!谢谢你的回复,我还没有..这是我第一个带有验证的表单我对php很陌生。我的服务器是 123 reg。我通过实时聊天与他们讨论了这个问题,他们说:首先确保您的代码使用托管在您的主域名上的 123-reg 电子邮件地址进行托管。 (我是) Daniel:(12:03):而且该脚本使用 SMTP 身份验证。 (虽然我不确定这是什么)