我正在尝试将电话字段添加到联系表单中,但是当我这样做时,脚本会停止工作,而且我没有收到电子邮件。
<?php
// check if fields passed are empty
if(empty($_POST['name']) ||
empty($_POST['email']) ||
empty($_POST['telephone']) ||
empty($_POST['message']) ||
!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
echo "No se ha introducido toda la información.";
return false;
}
$name = $_POST['name'];
$email_from = $_POST['email'];
$telephone = $_POST['telephone'];
$message = $_POST['message'];
// create email body and send it
$to = 'h.........@gmail.com'; // put your email
$email_subject = "Formulario de Contacto Con la Mochila al Hombro";
$email_body = "Has recibido un mensaje desde el formulario de contacto de la Web. \n\n".
"Aquí están los detalles:\n\n".
"Nombre: $name \n\n".
"Email: $email_from\n\n".
"Teléfono: $telephone\n\n".
"Mensaje: $message";
$headers = 'From: '.$email_from."\r\n".
'X-Mailer: PHP/' . phpversion();
mail($to,$email_subject,$email_body,$headers);
return true;
?>
这是我正在使用的HTML:
<div class="control-group">
<div class="controls">
<input type="phone" class="form-control" placeholder="Teléfono" id="telephone" required data-validation-required-message="Por favor, dinos tu teléfono para que podamos contactar contigo." />
</div>
</div>
如果我不把电话放在php脚本中,那么表单的效果非常好,但是一旦我添加它,它就会停止工作。我假设我设置了一些错误的值,但我真的不太了解PHP。
我现在相信这是AJAX验证脚本的一个问题。你可以在这里看到脚本http://talleresnaj2.com/js/contacto.min.js
答案 0 :(得分:1)
您的<input />
没有name
属性,因此其值永远不会发送到PHP脚本,从而使empty($_POST['telephone'])
返回true。
您只需在name="telephone"
中添加input
。
答案 1 :(得分:0)
您忘记添加输入名称。
尝试
<input name="telephone" type="phone" class="form-control" placeholder="Teléfono" id="telephone" required data-validation-required-message="Por favor, dinos tu teléfono para que podamos contactar contigo." />