Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/12/2003, 09:24
Avatar de Reynier
Reynier
 
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Duda con esto ...

Hola tengo esta página para insertar cosas a mi BD, el codigo es este:
Código PHP:
<?PHP
    
include_once("config.php");
      
                
conectadb(); 
      
mysql_select_db("rpmsite");
     
    
//Comprobamos que el campo nombre no este vacio o contenga errores
      
if(empty($_POST['nick'])){
       
header("Location:index.php?modules=register&error=0");
      }elseif(!empty(
$_POST['nick']) && ($_POST['nick']<5)){
       
header("Location:index.php?modules=register&error=1");    
      }
      
          
//Comprobamos que la contraseña01 y contraseña02 no este vacio o contenga errores
      
if(empty($_POST['contrasena01']) or empty($_POST['contrasena02'])){
       
header("Location:index.php?modules=register&error=2");
      }elseif((
$_POST['contrasena01'] != $_POST['contrasena02']) or (strlen($_POST['contrasena01'])!=strlen($_POST['contrasena02']))){
       
header("Location:index.php?modules=register&error=3");    
      }elseif(
strlen($_POST['contrasena01'])<or strlen($_POST['contrasena02'])<5){
       
header("Location:index.php?modules=register&error=4");    
      }
      
      
//Comprobamos que el correo01 y el correo02 no este vacio o contenga errores
      
if(empty($_POST['mail01']) or empty($_POST['mail02'])){
       
header("Location:index.php?modules=register&error=5");
      }elseif((
$_POST['mail01'] != $_POST['mail02'])){
       
header("Location:index.php?modules=register&error=6");    
      }elseif(!
ereg("^([a-zA-Z0-9._]+)@([a-zA-Z0-9.-]+).([a-zA-Z]{2,4})$",$mail01) or (!ereg("^([a-zA-Z0-9._]+)@([a-zA-Z0-9.-]+).([a-zA-Z]{2,4})$",$mail02))){
       
header("Location:index.php?modules=register&error=7");    
      }
      
      
//Comprobamos que el nombre no este vacio o contenga errores
      
if(empty($_POST['nombre'])){
       
header("Location:index.php?modules=register&error=8");
      }elseif(
strlen($_POST['nombre'])<5){
       
header("Location:index.php?modules=register&error=9");    
      }
      
      if (
$_POST['contrasena01'] == $_POST['contrasena02']){
      
$crypt md5($_POST['contrasena01']);
     }
     if (
$_POST['mail01'] == $_POST['mail02']){
         
$correook $_POST['mail01'];
     }
     
    if ((!empty(
$nick)) && (!empty($contrasena01)) && (!empty($contrasena02)) && (!empty($mail01)) && (!empty($mail02)) && (!empty($nombre))){
        
$result mysql_query("SELECT id FROM users WHERE nombre='$nick'");
        if (
mysql_num_rows($result))
        {
             echo 
"Ya existe un usuario con ese login<br>";
        }else{
            
$sql "INSERT INTO users (nombre,login,passwd,email,pais,url,icq,aim,yahoo,dia,mes,ano,fecha,tipo) VALUES ('".$_POST['nick']."','".$crypt."','".$correook."','".$_POST['pais']."','".$_POST['nombre']."','".$_POST['homepage']."','".$_POST['icq']."','".$_POST['aim']."','".$_POST['yahoo']."','".$_POST['dia']."','".$_POST['mes']."','".$_POST['ano']."',NOW(),'3')";
        }
         
         if (
mysql_query($sql)){
             
header("Location: index.php?modules=register&action=sucesfully");
         }else{
             
header("Location: index.php?modules=register&error=10");
         }
    }else{
        
header("Location: index.php?modules=register&error=unsucesfully");
    }
?>
el problema es que cuando dejo todos los campos que debo validar vacios me redirecciona al error que le da la gana y no me los pone todos. ME explico mejor debo validar, el nick, el password, el correo y el nombre. Si los dejo los 4 vacios me debia decir: Debes entrar un nick, Debes entrar un password, Debes entrar una direccion valida, Debes entrar un nombre en el caso de que esten vacios, pero no me pone solo lo que le da la gana por ejemplo me redirecciona para index.php?modules=register&action=sucesfully ¿Por qué?

Ah! se me olvidaba esto otro. La funcion conectadb() esta implementada en el config.php de la sigueinte forma:
Código PHP:
 $host "host";
 
$user "user";
 
$passwd "pass";
 
$dbase "dbase";
function 
conectadb(){
 
$identifier mysql_connect($host,$user,$passwd) or die("Error");
 
mysql_select_db($dbase,$identifier);

el problema es que no se como sacar ese identificador ($identifier) de ahi para despues usarlo en cosas como myqsl_query($resultado,$identifier) y la otra cosa si se dieron cuenta al principio del script tuve que especificar manualmente mysql_select_db("rpmsite"); pues sino lo hago asi me dice que no hay Bases de Datos seleccionada. ¿Que pasa aquí?
__________________
Ing. Reynier Pérez Mira

Última edición por Reynier; 10/12/2003 a las 09:31