Autor
|
Tema: Problema con Formulario (Leído 2,882 veces)
|
Mechamon
Desconectado
Mensajes: 3
|
Hola, un amigo tiene un problema usa un formulario y cuando le da enviar si nombre y apellido no tiene ñ o tilde, se envía sin problema, pero si tiene alguno de esos 2 casos da el error siguiente como se podría corregir. Gracias
Lo sentimos mucho, pero hubo errores encontrados con el formulario que enviaste. Estos errores aparecen a continuación.
El nombre que ingresó no parece ser válido. El Apellido que ingresó no parece ser válido.
Vuelva por favor y solucione estos errores.
|
|
|
En línea
|
|
|
|
#!drvy
|
Sin el código, no se puede ayudar.
No somos magos, ni adivinos, ni leemos tarot.
Saludos
|
|
|
En línea
|
|
|
|
Mechamon
Desconectado
Mensajes: 3
|
<?php if(isset($_POST['email'])) { // EDIT THE 2 LINES BELOW AS REQUIRED $email_to = "info@dominio.com"; $email_subject = "Formulario de contacto"; function died($error) { // your error code can go here echo "Lo sentimos mucho, pero hubo errores encontrados con el formulario que enviaste. "; echo "Estos errores aparecen a continuación.<br /><br />"; echo $error."<br /><br />"; echo "Vuelva por favor y solucione estos errores.<br /><br />"; } // validation expected data exists if(!isset($_POST['first_name']) || !isset($_POST['last_name']) || !isset($_POST['email']) || !isset($_POST['telephone']) || !isset($_POST['comments'])) { died('Lo sentimos, pero parece haber un problema con el formulario que envió.'); } $first_name = $_POST['first_name']; // required $last_name = $_POST['last_name']; // required $email_from = $_POST['email']; // required $telephone = $_POST['telephone']; // not required $comments = $_POST['comments']; // required $error_message = ""; $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; $error_message .= 'La dirección de correo electrónico que introdujo no parece válida.<br />'; } $string_exp = "/^[A-Za-z .'-]+$/"; $error_message .= 'El nombre que ingresó no parece ser válido.<br />'; } $error_message .= 'El Apellido que ingresó no parece ser válido.<br />'; } $error_message .= 'El Mensaje que ingresó no parece ser válido.<br />'; } if(strlen($error_message) > 0) { died($error_message); } $email_message = "Form details below.\n\n"; function clean_string($string) { $bad = array("content-type","bcc:","to:","cc:","href"); } $email_message .= "Nombre: ".clean_string($first_name)."\n"; $email_message .= "Apellido: ".clean_string($last_name)."\n"; $email_message .= "Correo electrónico: ".clean_string($email_from)."\n"; $email_message .= "Teléfono: ".clean_string($telephone)."\n"; $email_message .= "Mensaje: ".clean_string($comments)."\n"; // create email headers $headers = 'From: '.$email_from."\r\n". 'Reply-To: '.$email_from."\r\n" . @mail($email_to, $email_subject, $email_message, $headers); ?> <!-- include your own success html here --> Gracias por contactarnos. Estaremos en contacto con usted muy pronto. <?php } ?>
<form name="contactform" method="post" action="send_form_email.php"> <input type="text" name="first_name" maxlength="50" size="30"> <input type="text" name="last_name" maxlength="50" size="30"> <input type="text" name="email" maxlength="80" size="30"> <input type="text" name="telephone" maxlength="30" size="30"> <td colspan="2" style="text-align:center"> <input type="submit" value="Enviar">
|
|
« Última modificación: 27 Septiembre 2017, 18:39 pm por #!drvy »
|
En línea
|
|
|
|
#!drvy
|
El error lo tienes en la linea 42 del PHP. Se hace una comprobación de los strings pero no admite acentos ni ñ ni ningún caracter que no sea (A-Za-z .'-) es decir, espacio, punto, comilla simple, guion, y las letras del tipo US-ASCII. En un principio, activando el unicode y buscando palabras utf8 deberia funcionar: $string_exp = "/^[\p{L} .'-]+$/u";
También puedes añadir manualmente los caracteres que buscas: $string_exp = "/^[A-Za-zñÑçÇáéóíúÁÉÓÍÚ .'-]+$/";
Saludos
|
|
|
En línea
|
|
|
|
Mechamon
Desconectado
Mensajes: 3
|
Gracias entonces cambio la linea 42 $string_exp = "/^[A-Za-z .'-]+$/"; por esta otra linea
$string_exp = "/^[A-Za-zñÑçÇáéóíúÁÉÓÍÚ .'-]+$/";
y el html tiene el <meta charset="utf-8">
Mod: No hacer doble post.
|
|
« Última modificación: 4 Octubre 2017, 18:20 pm por #!drvy »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
problema con formulario MDI
Programación Visual Basic
|
fraktal
|
5
|
3,640
|
6 Octubre 2006, 00:59 am
por fraktal
|
|
|
Problema con formulario PHP
PHP
|
daam
|
4
|
2,475
|
25 Octubre 2007, 18:55 pm
por daam
|
|
|
Problema con formulario PHP
PHP
|
oscarj24
|
0
|
1,565
|
1 Junio 2010, 07:17 am
por oscarj24
|
|
|
Problema con Formulario PHP
PHP
|
LordBlackRed
|
9
|
4,049
|
6 Agosto 2010, 14:53 pm
por LordBlackRed
|
|
|
Problema con formulario HTM - PHP
PHP
|
kuka_18
|
8
|
3,562
|
5 Agosto 2011, 09:11 am
por kuka_18
|
|