Foros del Web » Programando para Internet » PHP »

Urgente

Estas en el tema de Urgente en el foro de PHP en Foros del Web. Vereis, estoy haciendo una especie de sistema de usuarios, pero tengo un problema con la pagina que se encarga de procesar los datos del formulario: ...
  #1 (permalink)  
Antiguo 28/06/2002, 14:22
 
Fecha de Ingreso: mayo-2002
Mensajes: 115
Antigüedad: 15 años, 6 meses
Puntos: 0
Urgente

Vereis, estoy haciendo una especie de sistema de usuarios, pero tengo un problema con la pagina que se encarga de procesar los datos del formulario:

<HTML>
<HEAD>
<TITLE>Insertar.html</TITLE>
</HEAD>
<BODY>
<?
//Conexion con la base
$conexion = mysql_connect("localhost","user&quo t;,"pass");
//Ejecucion de la sentencia SQL
$comprobacion = mysql_db_query("SELECT nick WHERE nick = '$nick'");
if(empty($nick) or empty($pass) or empty($email)){
echo "Te has dejado algun campo vacío";
}
elseif($comprobacion){
echo "alguien ya tiene tu nombre de usuario, por favor pon otro distinto";
}
else{
$inscribir = mysql_db_query("db","insert into reporteros (nick,pass,email) values ('$nick','$pass','$email')");
echo "Felicidades";
}
?>
</BODY>
</HTML>

No se cumple la condiciçon

elseif($comprobacion){
echo "alguien ya tiene tu nombre de usuario, por favor pon otro distinto";
}

, no se porque, alguien podria decirmelo?¿es que no esta bien $comprobacion = mysql_db_query("SELECT nick WHERE nick = '$nick'"); para comprobar si alguien ya tiene ese nombre de usuario?
  #2 (permalink)  
Antiguo 28/06/2002, 14:58
Avatar de ceronne  
Fecha de Ingreso: diciembre-2001
Ubicación: Paris
Mensajes: 990
Antigüedad: 16 años
Puntos: 1
Re: Urgente

te falta el FROM

("SELECT nick FROM nom_tabla WHERE nick = '$nick'");
  #3 (permalink)  
Antiguo 28/06/2002, 16:07
 
Fecha de Ingreso: mayo-2002
Mensajes: 115
Antigüedad: 15 años, 6 meses
Puntos: 0
Re: Urgente

Ok, Muchas gracias.
  #4 (permalink)  
Antiguo 28/06/2002, 16:45
 
Fecha de Ingreso: mayo-2002
Mensajes: 115
Antigüedad: 15 años, 6 meses
Puntos: 0
Re: Urgente

Lo he probado, pero no me funciona, se sigue guardando el mismo nombre de usuario tantas veces como quieras. No entiendo porque no funciona, please que alguien me lo diga, le estare bastante agradecido.
  #5 (permalink)  
Antiguo 28/06/2002, 17:23
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 16 años, 2 meses
Puntos: 6
Re: Urgente

Cita:
elseif($comprobacion){
echo "alguien ya tiene tu nombre de usuario, por favor pon otro distinto";
}
Claro que no te funciona como esperas y es debido a la forma en la que estas tratando la variable $comprobacion.
Cuando tu usas la funcion mysql_db_query tu asignaste un resource que es un entero positivo y un identificador en la variable $comprobacion . con lo cual la condicion no se cumple como esperas.
Asi que puedes cambiar esa parte por algo como esto.
Código:
elseif( mysql_num_row($comprobacion)>0 ){
echo "alguien ya tiene tu nombre de usuario, por favor pon otro distinto";
exit();
}
Hay mas detalles que puedes revisar para mejorar tu codigo. Pero eso te los dejo, conforme sigas trabajando con el te daras cuenta.

Saludos!.
Mty. NL.
  #6 (permalink)  
Antiguo 29/06/2002, 04:25
 
Fecha de Ingreso: mayo-2002
Mensajes: 115
Antigüedad: 15 años, 6 meses
Puntos: 0
Re: Urgente

Bueno, no se porque pero sigue sin funcionarme, os pongo el codigo tal y como lo tengo ahora a ver si es que tengo otra coa mal:

<HTML>
<HEAD>
<TITLE>Insertar.html</TITLE>
</HEAD>
<BODY>
<?
//Conexion con la base
$conexion = mysql_connect("localhost","user&quo t;,"pass");
//Ejecucion de la sentencia SQL
$comprobacion = mysql_db_query("SELECT nick FROM reporteros WHERE nick = '$nick'");
if(empty($nick) or empty($pass) or empty($email)){
echo "Te has dejado algun campo vacío";
}
elseif(mysql_num_rows($comprobacion)>0){
echo "alguien ya tiene tu nombre de usuario, por favor pon otro distinto";
}
else{
$inscribir = mysql_db_query("db","insert into reporteros (nick,pass,email) values ('$nick','$pass','$email')");
echo "Felicidades";
}
?>
</BODY>
</HTML>
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 15:15.