注意:已删除电子邮件地址以用于隐私目的。
每当表单执行此脚本时,它会在结尾返回成功的JSON数组,但是,从未在指定的电子邮件地址收到电子邮件。
<?php
if(empty($_POST['fullname']) || empty($_POST['phonenumber']) || empty($_POST['emailaddress']))
{
$response = array('status' => 0, 'txt' => 'Please verify all required fields are complete.');
echo json_encode($response);
die();
}
if(!(preg_match("/^[\.A-z0-9_\-\+]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $_POST['emailaddress'])))
{
$response = array('status' => 0, 'txt' => 'Please Provide a Valid E-Mail Address.');
echo json_encode($response);
die();
}
$name = mysql_real_escape_string($_POST['fullname']);
$phonenumber = mysql_real_escape_string($_POST['phonenumber']);
$email = mysql_real_escape_string($_POST['emailaddress']);
$comments = mysql_real_escape_string($_POST['comments']);
$emailbody = 'Name: ' . $name . '
Phone Number: ' . $phonenumber . '
E-Mail Address: ' . $email . '
Comments: ' . $comments . ' ';
mail("example@example.com","New Consultation Request",$emailbody,"From: noreply@example.com");
$response = array('status' => 1, 'txt' => 'consultation-request-successful');
echo json_encode($response);
?>
答案 0 :(得分:0)
您从未打扰过连接到数据库,因此mysql_real_escape_string()
将失去一个布尔值FALSE - 需要与DB的活动连接以执行其操作工作
这意味着您的$name, $phonenumber, $email, $comments
将全部为布尔值FALSE,并在您构建邮件文本时转换为空字符串。
同样,使用mysql转义为简单的电子邮件是完全没有意义的。电子邮件不容易受到SQL注入攻击。