[英]validation error while sending email
我想发送电子邮件。 即使我输入了正确的电子邮件ID,当我单击email
按钮并刷新页面时,也会收到验证错误“字段为必填项”。 如果我输入了正确的电子邮件ID,那么它也会给出错误。 我不知道我要去哪里错了。 谁能告诉我。 这是我的PHP代码:
function validation1()
{
document.getElementById("emailid").innerHTML="";
var emailpattern=/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
if(document.form1.email.value=="")
{
document.getElementById("emailid").innerHTML="fields are mandetory";
document.form1.email.focus();
return false;
}
else if(!emailpattern.test(document.form1.email.value))
{
document.getElementById("emailid").innerHTML="enter valid id";
document.form1.email.focus();
return false;
}
return true;
}
<?php include 'send-email.php';?>
<form name="form1" method="post">
<input type="submit" name="email" value="email" onclick="return validation1()" />
<input type="text" size="50" name="email" id="email" placeholder="*************" />
<span id="emailid"></span>
</form>
send-email.php代码
<?php include 'connection.php'; ?>
<?php
if(isset($_POST['submit'])) {
@$email=$_POST["email"];
$email=strip_tags($_POST["email"]);
$email=mysqli_real_escape_string($con,trim($email));
$to="sa@vs.com";
$to=mysqli_real_escape_string($con,trim($to));
$headers="From:".$email;
$message="Interested in VAPT";
$subject="email id";
if(mail($to,$subject,$message,$headers))
{
$email="'".$email."'";
$sql="insert into email_to_admin values($email)";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
}
mysqli_close($con);
}
?>
您没有if()
语句来控制邮件的发送时间。 页面加载后,您会立即发送邮件。 采用
if(isset($_POST['email'])) {}
if(isset($_POST["email"]) && isset($_POST["email"] !="" )
{
//send the email
}
我个人建议同时放置一个反垃圾邮件验证码,这样可以确保新的rendom值不相同
而且,由于您还有另一个步骤可以帮助您,因此您还可以在电子邮件表中标记电子邮件地址以及其他值,例如在email_to_admin MySQL表中唯一的主题,如果插入了记录,则继续
$sql="insert into email_to_admin values($email , $subject)";
.....................
$num = @mysql_affected_rows();
if($num > 0)
{
//semd the email
}
请尝试以下邮件:-
if($_POST["email"]){ // Add this if condition so that your mail will be send when button gets clicked.
$to="sa@vs.com";
$to=mysqli_real_escape_string($con,trim($to));
$headers="From:".$email;
$message="Interested in VAPT";
$subject="email id";
if(mail($to,$subject,$message,$headers))
{
$email="'".$email."'";
$sql="insert into email_to_admin values($email)";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.