Foros del Web » Programando para Internet » PHP »

Comparar usuario

Estas en el tema de Comparar usuario en el foro de PHP en Foros del Web. Buenas, soy medianamente nuevo en esto del PHP y me ha salido una duda, a ver si me podéis echar un cable ^^. Me gustaría, ...
  #1 (permalink)  
Antiguo 13/04/2012, 17:22
 
Fecha de Ingreso: diciembre-2011
Mensajes: 5
Antigüedad: 12 años, 4 meses
Puntos: 0
Comparar usuario

Buenas, soy medianamente nuevo en esto del PHP y me ha salido una duda, a ver si me podéis echar un cable ^^.
Me gustaría, mediante un if, comparar si lo que hay escrito (se representa mediante $escrito) es igual a algún usuario en la base de datos.
mysql_query ("Select * FROM usuarios WHERE usuario = '$usuario'")
if ($escrito == $usuario){

Tenía en mente algo así, pero veo que no funciona muy bien, seguro que es una barbaridad, jaja.
Gracias de antemano! ^^
  #2 (permalink)  
Antiguo 13/04/2012, 17:33
 
Fecha de Ingreso: diciembre-2005
Mensajes: 87
Antigüedad: 18 años, 4 meses
Puntos: 3
Respuesta: Comparar usuario

No entiendo muy bien lo que quieres hacer, explicamelo y veo como te lo hago =)
  #3 (permalink)  
Antiguo 13/04/2012, 17:34
Usuario no validado
 
Fecha de Ingreso: enero-2010
Ubicación: Maturín, Monagas
Mensajes: 190
Antigüedad: 14 años, 3 meses
Puntos: 24
Respuesta: Comparar usuario

hola Blueorchid Si se puede mas o menos como lo estas haciendo intenta probar asi:

Código PHP:
Ver original
  1. $result = mysql_query("Select * FROM usuarios WHERE usuario = '$usuario'");
  2.            $row = mysql_fetch_array($result);
  3.         if($row["usuario"] == $escrito){
  4.                   //ejecutas codigo
  5.                                                    }
  6. else{
  7. echo "no es igual";
  8.               }
Saludos espero te sirva de ayuda..

Última edición por leonagelic; 13/04/2012 a las 17:37 Razón: Me falto una linea.
  #4 (permalink)  
Antiguo 13/04/2012, 17:47
 
Fecha de Ingreso: diciembre-2011
Mensajes: 5
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Comparar usuario

Código:
$result = mysql_query("Select * FROM usuarios WHERE usuario = '$usuario'");

 

        if($row["usuario"] == $cadena){
 
 return false;
 }
 return true;
 }
La cosa es que mediante Ajax me compruebe si dicho usuario está o no disponible en la base de datos, lo he probado de la manera que me dijisteis pero nada.
Código:
$respuesta->assign("mensaje","innerHTML","Este usuario ya está en uso");
He probado a añadir if ($cadena == Hola), y en este caso si me detecta que ya "existe", por lo que veo que está fallando la conexión a la base de datos
Gracias a ambos.
  #5 (permalink)  
Antiguo 13/04/2012, 17:52
Usuario no validado
 
Fecha de Ingreso: enero-2010
Ubicación: Maturín, Monagas
Mensajes: 190
Antigüedad: 14 años, 3 meses
Puntos: 24
Respuesta: Comparar usuario

De nada amigo en ese caso prueba revisar tu conexion, nombres de tablas, campos de tu BD etc.. saludos y suerte!
  #6 (permalink)  
Antiguo 13/04/2012, 18:56
 
Fecha de Ingreso: diciembre-2011
Mensajes: 5
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Comparar usuario

Nada, he comprobado las conexiones (el usuario lo registra y tal), el único problema es ese, que no me lo iguala y no caigo porque será.
  #7 (permalink)  
Antiguo 13/04/2012, 19:31
 
Fecha de Ingreso: enero-2012
Mensajes: 16
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: Comparar usuario

Revisa que estés usando la función mysql_fetch_array que es la que te entrega los valores obtenidos mediante el mysql_query, porque en ninguno de tus posts lo veo.
  #8 (permalink)  
Antiguo 14/04/2012, 06:48
 
Fecha de Ingreso: diciembre-2011
Mensajes: 5
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Comparar usuario

Aquí el código final, el cual sigue sin funcionarme.
Código PHP:
function comprobar_repetidos($cadena){

 
conectar_base_datos();
    
$result mysql_query("Select * FROM usuarios WHERE usuario = '$usuario'");

           
$row mysql_fetch_array($result);

       if(
$row["usuario"] == $cadena)
{
       return 
false;
    }
    return 
true;
}
 function 
validar_usuario($entrada){
 
 
$respuesta = new xajaxResponse();

 if (
$entrada == ""){

 
$respuesta->assign("mensaje","innerHTML","No has insertado un nombre de usuario");

 
$respuesta->assign("mensaje","style.color","red");
 }elseif (!
comprobar_permitidos($entrada)){

 
$respuesta->assign("mensaje","innerHTML","Introdujiste un simbolo no permitido");

 
$respuesta->assign("mensaje","style.color","red");
 }elseif (!
comprobar_repetidos($entrada)){

 
$respuesta->assign("mensaje","innerHTML","Este usuario ya está en uso");
 } 
El conectar_base_datos(); es de un require que hice al principio del código, que llama a la hoja que hace la conexión a la bd, la cual funciona porque el usuario se puede registrar sin problemas.
El codigo lo he sacado de una guia, algo anticuada y tuve que cambiar varias funciones ya obsoletas.
  #9 (permalink)  
Antiguo 14/04/2012, 07:01
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 13 años, 10 meses
Puntos: 55
Respuesta: Comparar usuario

no entiendo muy bien pero fijate lo siguiente si quieres saber si $escrito es igual a algun usuario de la base de datos, no es preferible preguntarle a la BD?

Código PHP:
Ver original
  1. mysql_query("Select * FROM usuarios WHERE usuario = '$escrito'");
  2.  
  3. if (mysql_affected_rows() == 0) {
  4.  
  5. //NO ES IGUAL A ALGUN USUARIO
  6.  
  7. } else {
  8.  
  9. //SI ES IGUAL A ALGUN USUARIO
  10.  
  11. }
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #10 (permalink)  
Antiguo 14/04/2012, 09:49
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Comparar usuario

lo primero, no hay ninguna variable $usuario que te traiga datos en la consulta, en realidad para saber si la cuenta esta disponible o no deberías es de hacer es la consulta y un condicional simple, ejemplo

Código PHP:
Ver original
  1. function comprobar_repetidos($cadena){
  2.     conectar_base_datos();
  3.     $result = mysql_query("Select * FROM usuarios WHERE usuario = '$cadena'");    
  4.     if(mysql_num_rows($result) > 0)
  5.    {
  6.        return false;
  7.    } else {
  8.        return true;
  9.    }
  10. }
saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: mysql, usuarios
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 00:44.