我遇到了php中的表单和嵌入其中的一些Javascript代码的麻烦。
我想留在页面上,并且在Javascript警报之后不要重置表单字段。显示警报时,页面将重新加载,表单中的所有字段都将重置。
以下是代码:
if (!empty($_REQUEST['captcha'])) {
if (empty($_SESSION['captcha']) || trim(strtolower($_REQUEST['captcha'])) != $_SESSION['captcha']) {
echo "<script type=\"text/javascript\">
alert(\"El texto no coincide, por favor vuelva a intentarlo\");
return false;
</script>";
} else {
$para = 'xxx';
$asunto = 'Mensaje de mi sitio xxx';
$nombre = $_GET['nombre'];
$email = $_GET['email'];
$contenido = "Mensaje enviado por " . $nombre . " \r\n";
$contenido .= "e-mail es: " . $email . " \r\n";
$contenido .= "Mensaje: " . $_GET['texto'] . " \r\n";
mail($para, $asunto, $contenido);
echo "<script type=\"text/javascript\">
alert(\"Gracias por contactar con nosotros, nos pondremos en contacto lo antes posible.\");
document.contacto.captcha.select();
return false;
</script>";
}
$request_captcha = htmlspecialchars($_REQUEST['captcha']);
unset($_SESSION['captcha']);
}
非常感谢您的帮助。
度过美好的一天。
答案 0 :(得分:0)
您的表单是否发布到此php?我认为你已经从你的问题中删除了HTML格式。如果您想以这种方式验证表单,则需要根据$ _REQUEST以HTML格式填写值。
更好的解决方案是使用AJAX验证表单。
答案 1 :(得分:0)
您的PHP代码应该获取$ _POST请求中的数据,并在重新加载后将其发送回页面。 然后,在表单内部,您应检查每个变量,如果它不为空,则预填充表单上的字段。
如果您不使用框架(如代码所示),这是您作为开发人员的时间。 尝试一种最受欢迎的方法,为Symfony2,Laravel,Zend Framework2提供优质的工作处理表格和验证。