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;}
?>