Foros del Web » Programando para Internet » PHP »

Qué mejoraríais

Estas en el tema de Qué mejoraríais en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 28/12/2008, 16:31
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
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
  #2 (permalink)  
Antiguo 28/12/2008, 16:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Qué mejoraríais

de momento se me ocurre... que No_campos_vacios es identica a isset, hacen lo mismo...y de veras, que isset es mejor...

Código PHP:
if (isset($_POST['foo'], $_POST['candy']['bar'], ..., $_POST['buzz']))
{
  
// ...

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 28/12/2008, 17:29
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Qué mejoraríais

Cita:
Iniciado por pateketrueke Ver Mensaje
de momento se me ocurre... que No_campos_vacios es identica a isset, hacen lo mismo...y de veras, que isset es mejor...

Código PHP:
if (isset($_POST['foo'], $_POST['candy']['bar'], ..., $_POST['buzz']))
{
  
// ...

Pero una cosa es que existan las variables en el formulario y otra es que estén vacías esas variables.

Más sugerencias?
  #4 (permalink)  
Antiguo 28/12/2008, 17:49
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Qué mejoraríais

Cita:
Iniciado por neodani Ver Mensaje
Pero una cosa es que existan las variables en el formulario y otra es que estén vacías esas variables.

Más sugerencias?
Para eso existe empty
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 12:48.