在我的联系表格中,我有一个电话号码字段。当我尝试发送电子邮件并输入号码时,我收到错误“错误的号码”但如果再次尝试使用相同的号码,则会正确发送电子邮件。此错误仅在首次尝试时出现。 例如:
有人进入我的网站。要联系表格给我发电子邮件。然后他输入所需的信息并收到“错误的号码,请再试一次”然后他输入相同的信息,他不会收到此错误并发送电子邮件。
这是mail.php
$name = check_input($_POST['inputName'], "Wrong name!");
$email = check_input($_POST['inputEmail'], "Wrong E-mail!");
$phone = check_input($_POST['inputPhone'], "Wrong number");
$message = check_input($_POST['inputMessage'], "Wrong input");
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
{
show_error("Wrong e-mail");
}
$message = "
You have new message from:
Name: $name
Email: $email
Phone: $phone
Subject: $message
";
/* Send the message using mail() function */
mail($myemail, $phone, $message);
header('Location: success.php');
exit();
这是check_input()
函数,我认为问题出在函数中,但我不太确定。
function check_input($data, $problem=' ')
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
if ($problem && strlen($data) == 0)
{
show_error($problem);
}
return $data;
}
,这是表格
上的字段<label for="inputPhone" class="col-lg-2 control-label">Phone</label>
<div class="col-lg-10">
<input type="tel" class="form-control" id="inputPhone" name="inputPhone" placeholder="Input your phone number...">
</div>