验证输入字段无法正常工作。

时间:2014-05-13 05:56:20

标签: php email

在我的联系表格中,我有一个电话号码字段。当我尝试发送电子邮件并输入号码时,我收到错误“错误的号码”但如果再次尝试使用相同的号码,则会正确发送电子邮件。此错误仅在首次尝试时出现。 例如:

  

有人进入我的网站。要联系表格给我发电子邮件。然后他输入所需的信息并收到“错误的号码,请再试一次”然后他输入相同的信息,他不会收到此错误并发送电子邮件。

这是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>

0 个答案:

没有答案