Foros del Web » Programando para Internet » Javascript »

Validar formulario con php

Estas en el tema de Validar formulario con php en el foro de Javascript en Foros del Web. Amigos les comento rápido lo que deseo hacer, tengo un formulario en html (formulario.html),luego obtengo las variables por post pero en una pagina que se ...
  #1 (permalink)  
Antiguo 08/07/2010, 11:46
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Validar formulario con php

Amigos les comento rápido lo que deseo hacer, tengo un formulario en html (formulario.html),luego obtengo las variables por post pero en una pagina que se llama enviado.html esto porque de ahi las envio a un correo electronico con la funcion mail() cosa que ya esta,pero el problema es que tengo que validar el formulario,cosa que con javascript no se como hacerlo,ya que quiero que me aparezca un mensaje dependiendo del campo que falte llenar,alguien que me auxilie con esto??? agradezco.
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #2 (permalink)  
Antiguo 08/07/2010, 11:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Tema movido desde PHP a Javascript
  #3 (permalink)  
Antiguo 08/07/2010, 12:41
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Validar formulario con php

Hola

Un caso y sus correcciones

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 09/07/2010, 11:29
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Validar formulario con php

Medio lo he resuelto de esta manera pero aun no funciona como yo quiero les comento rapido hice ó mejor dicho reutilice este codigo
Código HTML:
<script language="javascript"> 
function valida(){ 
    if(document.form.txtnombre.value.length <= 0){ //si nombre es = al vacio
        alert("Debe ingresar su nombre completo"); //mensaje a la pantalla
        document.form.txtnombre.focus(); //el puntero del mouse queda en nombre
        return 0; //devolvemos un cero para dejar de validar
	}
	if(document.form.txtempresa.value.length <= 0){ //si la emoresa es = al vacio
		alert("Debe ingresar el nombre de su empresa"); //mensaje a la pantalla
		document.form.txtempresa.focus(); //el puntero del mouse queda en empresa
		return 0; //devolvemos un cero para dejar de validar
    }
	if(document.form.txtemail.value.length <= 0){ //si el email es = al vacio
		alert("Debe ingresar un correo electrónico"); //mensaje a la pantalla
		document.form.txtemail.focus(); //el puntero del mouse queda en email
		return 0; //devolvemos un cero para dejar de validar
    }
	if(document.form.txttelefono.value.length <= 0){ //si el tel es = al vacio
		alert("Debe ingresar un número de teléfono"); //mensaje a la pantalla
		document.form.txttelefono.focus(); //el puntero del mouse queda en telefono
		return 0; //devolvemos un cero para dejar de validar
    }
	if(document.form.txtcomentario.value.length <= 0){ //si comentario es = a vacio
		alert("Debe ingresar un comentario"); //mensaje a la pantalla
		document.form.txtcomentario.focus(); //el puntero del mouse queda en comentario
		return 0; //devolvemos un cero para dejar de validar
    }else{ //sino enviamos el formulario
        document.form.submit(); //enviamos formulario    
    }
} 
</script> 
al momento de validar el formulario verifica y pasa el foco al campo que falte pero rápido se envia el correo y se vuelve a cargar,nose si me explique.
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #5 (permalink)  
Antiguo 09/07/2010, 11:32
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Validar formulario con php

este es mi form

Código HTML:
<form id="form" name="form" method="post" action="enviar.php">
                <table width="430" border="0" align="center">
                  <tr>
                    <td>Nombre:</td>
                    <td><label>
                      <input name="txtnombre" type="text" id="txtnombre" size="50" />
                    </label></td>
                  </tr>
                  <tr>
                    <td>Empresa:</td>
                    <td><label>
                      <input name="txtempresa" type="text" id="txtempresa" size="50" />
                    </label></td>
                  </tr>
                  <tr>
                    <td>Email:</td>
                    <td><label>
                      <input name="txtemail" type="text" id="txtemail" size="50" />
                    </label></td>
                  </tr>
                  <tr>
                    <td>Teléfono:</td>
                    <td><label>
                      <input name="txttelefono" type="text" id="txttelefono" size="50" />
                    </label></td>
                  </tr>
                  <tr>
                    <td>Comentario:</td>
                    <td><p>
                      <label>
                        <textarea name="txtcomentario" id="txtcomentario" cols="39" rows="5"></textarea>
                      </label>
                    </p>
                      <p>*Todos los campos son oblogatorios</p></td>
                  </tr>
                </table>
                <p>
                  <center>
                    <label>
                      <input type="submit" name="enviar2" id="enviar2" value="Enviar" onClick="javascript:valida()" />
                    </label>
                    &nbsp;&nbsp;
                    <label>
                      <input type="reset" name="cancelar2" id="cancelar2" value="Cancelar" />
                    </label>
                  </center>
                </p>
              </form> 
si se fijan en el action del form lo mando a una pagina php que es donde esas variables que recojo las envia por correo electronico.
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #6 (permalink)  
Antiguo 09/07/2010, 11:33
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Validar formulario con php

que esta es la página:

Código PHP:
<?php

$nombre 
$_POST['txtnombre'];
$empresa $_POST['txtempresa'];
$email $_POST['txtemail'];
$telefono=$_POST['txttelefono'];

$header 'From: ' $email " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje .= "Mensaje enviado por: " $nombre " \r\n";
$mensaje .= "Empresa: " $empresa " \r\n";
$mensaje .= "Teléfono: "  $telefono " \r\n";
$mensaje .= "E-mail: " $email " \r\n";
$mensaje .= "Mensaje: " $_POST['txtcomentario'] . " \r\n";
$mensaje .= "Enviado el " date('d/m/Y'time());

$para '[email protected]';
$asunto 'Contacto desde nuestro sitio web';
mail($para$asuntoutf8_decode($mensaje), $header);
echo 
"<script>alert(\"Mensaje enviado con éxito\");document.location='../Sitio Web/contacto.php'</script>";

?>
lo unico que deseo es validar el formulario,despues enviarlo por correo y ya es tan complicado?? esque nose mucho de esto.
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #7 (permalink)  
Antiguo 09/07/2010, 12:46
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Validar formulario con php

Hola

Quitale el action al form action="enviar.php" y el botón submit conviertelo en un botón. Lo mas correcto sería, hacer lo que indiqué en la liga que te pasé, pero al parecer no le has prestado mucha atención. De cualquier modo, si haces esos dos cambios funcionará

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #8 (permalink)  
Antiguo 09/07/2010, 13:04
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Validar formulario con php

Lamentod ecir que lo que no me ha funcionado despues de lo que me dijiste que cambiara,ahora ya ni siquiera valida,aparte como me va a enviar a la otra pagina o mejor dicho como va a enviar la informacion al corre??? No entiendo mucho pero lo suficiente para saber que estaba mejor como lo tenia antes.Alguna otra solucion?
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #9 (permalink)  
Antiguo 09/07/2010, 13:08
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Validar formulario con php

Cita:
Iniciado por Bertitha Ver Mensaje
Lamentod ecir que lo que no me ha funcionado despues de lo que me dijiste que cambiara,ahora ya ni siquiera valida,aparte como me va a enviar a la otra pagina o mejor dicho como va a enviar la informacion al corre??? No entiendo mucho pero lo suficiente para saber que estaba mejor como lo tenia antes.Alguna otra solucion?
Si, muy perspicaz, vamos a jugar un poco. Solo has de hace uno de los cambios que te comenté. ¿Cual será?
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #10 (permalink)  
Antiguo 09/07/2010, 13:20
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Validar formulario con php

ok, el cambio quedo pero como podre validar ahora un número de telefono obligatorio, pero que sea igual a 7 digitos ó igual a 10??? demasiado para mi esque no se como con javascript.
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #11 (permalink)  
Antiguo 09/07/2010, 13:34
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Validar formulario con php

Hola

Puede ser algo como esto
Código Javascript:
Ver original
  1. if ((/\d{7}/.campo == false) || (/\d{10}/.campo == false)) alert("Has de ingresar un numero de 7 o 10 cifras");
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #12 (permalink)  
Antiguo 09/07/2010, 13:44
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Validar formulario con php

mmmm............... pero no se que es "d" y .campo podrias explicarme un poco,claro si tienes tiempo,agradezco.
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #13 (permalink)  
Antiguo 09/07/2010, 15:19
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Validar formulario con php

Hola

Ha sido un intento de validación con expresiones regulares. Ahora después de una ducha fría y con menos calor, las cosas están mas claras. Has de usar esta
Código Javascript:
Ver original
  1. if ((!/^\d{7}$/.test(document.form.campo.value)) && (!/^\d{10}$/.test(document.form.campo.value))) {alert("Has de ingresar un numero de 7 o 10 cifras");return false;}

La expresión regular /^\d{7}$/ y /^\d{10}$/ nos dice que en el campo solo se admitirán números y la cantidad de número admitidos será o 7 o 10.
Con test comprobamos si se cumple la expresión. Si se cumple nos retorna true, false en caso contrarío
Con el operador lógico && y con ! decimos que si no se cumple el primer test y tampoco se cumple el segundo, lance la alerta

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Etiquetas: php, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:12.