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).