Validar un formulario con PHP + explicación del código

Validar un formulario con PHP + explicación del códigoPHPvalidarenformularioValidar un formulario con PHP + explicación del códigoPHPvalidarenformularioValidar un formulario con PHP + explicación del códigoPHPvalidarenformularioValidar un formulario con PHP + explicación del códigoPHPvalidarenformularioValidar un formulario con PHP + explicación del códigoPHPvalidar


1. Crear el formulario

<form name="registro" method="post">
                
                  <label>Nombre de usuario:</label>
                  <br />
                  <input type="text" name="usuario" value="<?php echo $rusuario?>" /><br />
                                    
                  <label>Contraseña:</label>
                  <br />
                  <input type="password" name="pass" /><br />
                  
                  <label>Repetir contraseña:</label>
                  <br />
                  <input type="password" name="rpass" /><br />
                  
                                <label>Email:</label>
                  <br />
                  <input type="text" name="email" value="<?php echo $remail?>" /><br />
                  
                  <label>Nombre:</label>
                  <br />
                  <input type="text" name="nombre" value="<?php echo $rnombre?>" /><br />
                  
                  <label>Apellido:</label>
                  <br />
                
                  <input type="text" name="apellido" value="<?php echo $rapellido?>" />
                  
                    <br />
                  
                  <label>Hombre:</label>
                  
                 <input type="radio" name="sexo" id="sexo" value="hombre"  />
                 
                 <label>Mujer:</label>
                 
                 <input type="radio" name="sexo" id="sexo2" value="mujer" />
                 
                 <br />            
                       
                   <input type="submit" name="botEnviarRegistro" value="Registrarse" /><br />
          
            </form>

en
2. Crear el código

<?php

class Usuarios {
//Creamos la clase "Usuarios"
private $rusuario;
    private 
$rpass;
    private 
$rrpass;
    private 
$remail;
    private 
$rnombre;
    private 
$rapellido;
    private 
$rsexo;
    private 
$botonenviarregistro;
//Damos como privadas las variables.    
    
public function validar_registro($rusuario$rpass$rrpass$remail$rnombre$rapellido$rsexo){

/*

Creamos la función pública "validar_registro" y pasamos las variables a validar como parámetros.

Funciones: 

public: el metodo es accesible desde cualquiero lado

private: el metodo es accesible solo desde dentro de la clase

protected: el metodo es accesible dentro de la clase y sus herencias

Gracias dii3g0 por pasarme estos datos, public, private y protected.

 */

            
$rusuario htmlspecialchars(mysql_real_escape_string(strip_tags($_POST["usuario"])));
            
$rpass htmlspecialchars(mysql_real_escape_string(strip_tags($_POST["pass"])));
            
$rrpass htmlspecialchars(mysql_real_escape_string(strip_tags($_POST["rpass"])));
            
$remail htmlspecialchars(mysql_real_escape_string(strip_tags($_POST["email"])));
            
$rnombre htmlspecialchars(mysql_real_escape_string(strip_tags($_POST["nombre"])));
            
$rapellido htmlspecialchars(mysql_real_escape_string(strip_tags($_POST["apellido"])));
            
$rsexo htmlspecialchars(mysql_real_escape_string(strip_tags($_POST["sexo"])));
            
$botonenviarregistro $_POST["botEnviarRegistro"];
//Las variables contienen los datos escritos por el usuario.
    
$this->rusuario $rusuario;
    
$this->rpass $rpass;
    
$this->rrpass $rrpass;
    
$this->remail $remail;
    
$this->rnombre $rnombre;
    
$this->rapellido $rapellido;
    
$this->rsexo $rsexo;
    
$this->botonenviarregistro $botonenviarregistro;
//Estamos declarando que las variables que pasamos como privadas son las mismas que de los parámetros.
    
if(isset($this->botonenviarregistro)){
//Si se apretó el botón "Registrarse".
        
$validar TRUE;
//La variable "validar" es verdadera.
        
if($this->rusuario == ''){
            echo 
"Falta completar el nombre de usuario. <br>";
            
$validar FALSE;    
        }
//Si la variable "usuario" no tiene nada escrito sale el mensaje escrito con el echo y la variable "validar" es falsa.
        
if($this->rpass == ''){
            echo 
"Falta completar la contraseña. <br>";
            
$validar FALSE;    
        }
        if(
$this->rrpass == '' or $this->rrpass != $this->rpass){
            echo 
"Falta repetir la contraseña o es inválida. <br>";
            
$validar FALSE;    
        }
//Si la variable "rpass" no tiene nada escrito o la variable "rrpass" no es igual a la variable "rpass" sale el mensaje puesto en el echo y la variable "validar" es falsa.
        
if(!preg_match('/^[^@]+@[a-zA-Z0-9._-]+.[a-zA-Z]+$/'$this->remail)){
            echo 
"El email es inválido. <br>";
            
$validar FALSE;    
        }
//Si la variable "remáis" no contiene un punto y un arroba sale el mensaje puesto en el echo y la variable "validar" es falsa.
        
if($this->rnombre == ''){
            echo 
"Falta completar el nombre. <br>";
            
$validar FALSE;    
        }
        if(
$this->rapellido == ''){
            echo 
"Falta completar el apellido. <br>";
            
$validar FALSE;    
        }
        if(
$this->rsexo == ''){
            echo 
"Falta completar el sexo. <br>";
            
$validar FALSE;    
        }
        if(
$validar == TRUE){
        
//si se validó todo el formulario pasamos a registrarlo en la BD.
        
}
    }
}
}
?>

Federico

8 comentarios - Validar un formulario con PHP + explicación del código

@Neo_ExCombicto +1
que pelotudo!

no sabia que en php habia ojos y un alma... (espero que entiendas)
@ClicsModernos -4
En algún momento tenés que instanciar la clase sino no va a pasar nada:

$usuarios = new Usuario();

Y recomendaría pasar los $_POST en los parametros que recibe la función validar_registro así no los usas adentro:

$usuarios-&gt;validar_registro($_POST['usuario'],$_POST['pass'],$_POST['rpass'],...,...,...,$_POST['sexo]);
@Neo_ExCombicto +2
pense que era solo ojos, de php nose nadita :c

no me gusta, nose xd

cuando quise aprendeer c y c++ , en to2 los tutoriales decia como hacer el codigo , tipico. pero como carajo compilo en c y/o c++? ami siempre me tira error :S
@ClicsModernos
No fue bardo, fue una recomendación nomás de buenas prácticas en programación php y OOP .
@feedf
copado dsp lo analizo gracias