Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/12/2008, 16:31
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Qué mejoraríais

Buenas,

He creado un script para hacer unas comprobaciones básicas a un formulario de registro.

Me gustaría que me dijeseis que mejoraríais y si os gusta....

Código PHP:
<?
/*// ------------------------------------------------------------------------------------------
COMPROBAR FORMULARIO
    - Existen todas la variables?
    - Hay campos vacios?
    - Esta bien puesto el captcha?
// ------------------------------------------------------------------------------------------*/

session_start();

// ------------------------------------------------------------------------------------------
// Guardamos la pagina de donde viene para devolver errores a dicha página y comprobamos si se llama directo al script
// ------------------------------------------------------------------------------------------
$url explode("?",$_SERVER['HTTP_REFERER']);
$pag_referida=$url[0];
$redir=$pag_referida;
if (
$_SERVER['HTTP_REFERER'] == ""){
    die (
Header ("Location: /404"));
    exit;
    }

function 
Redirigir_error($num_error) {
  
$_SESSION['error']=$num_error;  
  
Header ("Location: /seccion/nuevo_registro.php");
  exit;
}
// ------------------------------------------------------------------------------------------
// Comprobamos que existan todos los campos del formulario
// ------------------------------------------------------------------------------------------
function Existen_variables(){

    if (isset(
$_POST['usuario']) && 
        isset(
$_POST['pass1']) && 
        isset(
$_POST['pass2']) && 
        isset(
$_POST['email']) &&
        isset(
$_POST['nombre']) &&
        isset(
$_POST['sexo']) &&
        isset(
$_POST['pais']) &&
        isset(
$_POST['security_code'])){
        
        return 
True;
        
    }else{ 
        return 
False;}
}

// ------------------------------------------------------------------------------------------
// Comprobar si existen campos vacios
// ------------------------------------------------------------------------------------------
function No_campos_vacios($v1,$v2,$v3,$v4,$v5,$v6,$v7,$v8){

    if (
$v1!='' &&
        
$v2!=''&&
        
$v3!=''&&
        
$v4!=''&&
        
$v5!=''&&
        
$v6!=''&&
        
$v7!=''&&
        
$v8!=''){
        
        return 
True;
        
    }else{ 
        return 
False;}
}
// ------------------------------------------------------------------------------------------
// Validar imagen de seguridad
// ------------------------------------------------------------------------------------------
function Validar_captcha($imagen){

    
$captcha $_SESSION['phpcaptcha_codigo'];

    if (
$captcha == $imagen){
        return 
True;
    }else{
        return 
False;}
}


// ------------------------------------------------------------------------------------------
// PROCESAR FORMULARIO
// ------------------------------------------------------------------------------------------
if (Existen_variables()){
        
// Recogemos los datos de entrada del formulario para procesarlos posteriormente les eliminamos los espacios de sobra.
        
$usuario=trim($_POST['usuario']);
        
$pass1=trim($_POST['pass1']);
        
$pass2=trim($_POST['pass2']);
        
$email=trim($_POST['email']);
        
$nombre=trim($_POST['nombre']);
        
$sexo=trim($_POST['sexo']);
        
$pais=trim($_POST['pais']);
        
$imagen=trim($_POST['security_code']);
    
        if (
No_campos_vacios($usuario,$pass1,$pass2,$email,$nombre,$sexo,$pais,$imagen))
        {
            if (
Validar_captcha($imagen)){
                
Redirigir_error(0); // todo correcto
                
}
            else{
                
Redirigir_error(32); // La imagen de seguridad introducida no es correcta
            
}
        }else{
            
Redirigir_error(30); // Hay campos vacios en el formulario
        
}
}else{ 
    
// No existen todas las variables
    
die (Header ("Location: /404"));
    exit;}
?>
Gracias de antemano