Ver Mensaje Individual
  #11 (permalink)  
Antiguo 04/02/2003, 15:57
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Fijate bien en los condicionales que usas .. Si no se cumple la condicion en la que haces la consulta ... igual pretendias liberar la memoria usada por la "consulta" que nunca se hizo ...

Otro detalle de "seguridad" .. usa el Password en tu consulta SQL .. y en tu IF q decides si hacer la consulta o no ..

Código PHP:
if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["email"]) != "" ) { // Te faltaria usar la variabel password ... && ..
   
$sql "SELECT id FROM usuarios WHERE nick='".notags($HTTP_POST_VARS["nick"])."'"// te faltaria AND passwor=$HTTP_POST_VARS['password'];
   
$result mysql_query($sql);

   if(
mysql_num_rows($result)) {
      echo 
"Error, nick escogido por otro usuario";
      exit;
   }

         
$sql "INSERT INTO usuarios (login,nick,password,pais,nombre,apellidos,email) VALUES (";
         
$sql .= "'".notags(strtolower($HTTP_POST_VARS["login"]))."'";
         
$sql .= ",'".notags($HTTP_POST_VARS["nick"])."'";
         
$sql .= ",'".notags(md5($HTTP_POST_VARS["password"]))."'";
         
$sql .= ",'".notags($HTTP_POST_VARS["pais"])."'";
         
$sql .= ",'".notags(ucwords($HTTP_POST_VARS["nombre"]))."'";
         
$sql .= ",'".notags(ucwords($HTTP_POST_VARS["apellidos"]))."'";
         
$sql .= ",'".notags($HTTP_POST_VARS["email"])."'";
         
$sql .= ")";

         if(
mysql_query($sql)) {
            echo 
"Registro exitoso!";
         }
         if (
$HTTP_POST_VARS["login"]== "") {
            echo 
"ERROR en Registro, login vacio";
         }

      
mysql_free_result($result); // Ha de estar dentro del "IF" (condicion) que decida q se ha de ejecutar la consulta ...
     
mysql_close(); // lo mismo para cerrra la BD .. 

} else {
   echo 
"Debe llenar como minimo los campos de Nick, email";
}
?> 
Un saludo,

pd: .. la propia conexión a la BD tambien deberias hacerla bajo tu IF principal .. o sacar el mysql_close() al lugar q estaba (o ni eso .. pues se cierran las conexiones al terminar el script).

Última edición por Cluster; 04/02/2003 a las 16:06