Foros del Web » Programando para Internet » PHP »

Validación de un formulario

Estas en el tema de Validación de un formulario en el foro de PHP en Foros del Web. Muy buenas. Necesito ayuda con un formulario. No tengo muy claro como se hace. Os pongo mi código para ver si me podéis ayudar - ...
  #1 (permalink)  
Antiguo 24/02/2013, 10:53
Avatar de dafnemartinezs  
Fecha de Ingreso: febrero-2013
Ubicación: Murcia
Mensajes: 23
Antigüedad: 11 años, 2 meses
Puntos: 1
Pregunta Validación de un formulario

Muy buenas. Necesito ayuda con un formulario. No tengo muy claro como se hace. Os pongo mi código para ver si me podéis ayudar - dirigir.


Página del php que valida el formulario:
Código PHP:
<?php
    $nombre 
$_GET['nombre'];
    
$telefono=$_GET['telf'];
    
$email=$_GET['email'];
    
    
$nombreC=false;
    
$telefonoC=false;
    
$emailC=false;
    
    
$datosRecibidos=false;
    
$datosCorrectos=false;
    
    if(
$nombre=="" || $telefono=="" || $email==""){
        
$datosRecibidos=false;
        echo 
'<p>Faltan datos por rellenar</p><br>';
    }else{
        
//Nombre
        
        
if(preg_match('[^A-Za-z]'$nombre)){
            
$nombreC=true;
        }else{
            
$nombreC=false;
            echo 
'<p>El nombre solo puede contener letras</p><br>';
        }
        
        
//Telefono
        
if(is_int($telefono)){
            if(
preg_match('[^0-9]{9}',$telefono)){
                
$telefonoC=true;
            }else{
                echo 
'El telefono debe contener 9 digitos.';
            }
        }else{
            echo 
'<p>El telefono solo puede contener numeros.</p> <br>';    
        }
        
        
//Email
        
if(preg_match('^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@+([_a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]{2,200}\.[a-zA-Z]{2,6}$^'$email)){
            
$emailC=true;
        }else{
            echo 
'<p>Email incorrecto.</p><br>';
        }
        
        if(
$nombreC && $telefonoC && $emailC){
            echo 
'<P>DATOS ENVIADOS CORRECTAMENTE</p> <br>' ;
        }
    }
    
    

?>


Página del formulario:
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
	<form action="validar_formulario.php" method="get">
    	<table width="600" border="1">
          <tr>
            <td>Nombre:</td>
            <td><input name="nombre" type="text" /></td>
          </tr>
          <tr>
            <td>Telefono:</td>
            <td><input name="telf" type="text" maxlength="9" /></td>
          </tr>
          <tr>
            <td>Email:</td>
            <td><input name="email" type="text" size="80" /></td>
          </tr>
          <tr>
            <td><input name="enviar" type="submit" value="ENVIAR"/></td>
            <td><input name="borrar" type="reset" value="BORRAR" /></td>
          </tr>
        </table>

    </form>
		
</body>
</html> 


Las dudas son las siguientes:
1ª-> No se como hacer para que en el teléfono haya que introducir obligatoriamente 9 dígitos.
2ª-> Debo tener los if's mal hechos porque no me responde como debería. Si alguien le puede echar un ojo lo agradecería.
3ª-> ¿Es posible que, cuando encuentre un error en el php, te rediriga a la pagina html en el punto donde se ha producido el error? Por ejemplo, si en el nombre mete un número, que te diga el error y te mande al campo de texto del nombre.

De momento creo que ya esta. Espero que me podáis ayudar. Muchas gracias a todos por adelantado.
  #2 (permalink)  
Antiguo 24/02/2013, 16:07
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Validación de un formulario

1- con la funcion isNan de javascript te dice si es numerico, en vez de validar is_int tenes que usar is_numeric
para saber la longitud de una variable string usa: strlen($varieble)

y muchas coas mas pero son re basicas, tendrias que leer el mnual de php al menos lo basico
con javascript lo mismo

Etiquetas: formulario, html
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 18:18.