Foros del Web » Programando para Internet » PHP »

no me reconoce usuario

Estas en el tema de no me reconoce usuario en el foro de PHP en Foros del Web. hola amigos agradeceria mucho me den una mano con la autentificacion de mis usuarios http://fenicia.org/usuario/ mis usuarios dentro de mi bd son: uno dos y ...
  #1 (permalink)  
Antiguo 14/10/2012, 04:45
 
Fecha de Ingreso: abril-2011
Ubicación: Peru
Mensajes: 486
Antigüedad: 13 años
Puntos: 9
no me reconoce usuario

hola amigos
agradeceria mucho me den una mano con la autentificacion de mis usuarios
http://fenicia.org/usuario/

mis usuarios dentro de mi bd son:
uno
dos

y la web me bota este mensaje
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/fenicia/public_html/usuario/buscar.php on line 26
El usuario no existe


este es el codigo que estoy usando en el archivo buscar.php

<?php
ob_start();
session_start();

//recojo el valor del formulario mediante $_POST
$nombre = $_POST['usuario'];
$i=0;

//conexion con mysql
$dp_di="localhost";
$db_usuario="fenicia_usuario";
$db_clave="20122012";
$conectar=mysql_connect ($dp_di,$db_usuario,$db_clave);
if ($conectar==NULL)
{
printf ("Error");
}
//conectamos con la base de datos prueba
$db='fenicia_usuarios';
mysql_select_db($db, $conectar);

//hago la consulta a la tabla usuarios2012
$consulta= "SELECT nombreBD FROM usuarios2012 WHERE usuario='$usuario' and clave=SHA1('$clave')";
$resultado=mysql_query($consulta,$conectar);
//checas si devuelve un resultado la consulta
if(mysql_num_rows($resultado)!=0)
{
$_SESSION['usuario']=$usuario; //recojo en una sesion el nombre del usuario


while ($row = mysql_fetch_array($resultado))
{
$_SESSION['nombre_bd']=$row[$i]; //recogo en una sesion el nombre de la bd que puede utilizar el usuario
$i++;
}
}else
{
//si llegas aqui es por que no se encontro el usuario o no coincidio con el password..
//hacemos lo que quieras..
echo "El usuario no existe";
}
?>

Última edición por rascabuchitos; 14/10/2012 a las 04:57
  #2 (permalink)  
Antiguo 14/10/2012, 08:15
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: no me reconoce usuario

en la linea 26 te falta un corchete

deberia de ser asi

if(mysql_num_rows($resultado)!=0) )
__________________
El talento se educa en la KARMA y el carácter en la tempestad.
Gabriel De Los Santos
  #3 (permalink)  
Antiguo 14/10/2012, 18:05
 
Fecha de Ingreso: abril-2011
Ubicación: Peru
Mensajes: 486
Antigüedad: 13 años
Puntos: 9
Respuesta: no me reconoce usuario

hola gldelossantos
ahora me sale esto

Parse error: syntax error, unexpected ')' in /home/fenicia/public_html/usuario/buscar.php on line 26
  #4 (permalink)  
Antiguo 14/10/2012, 18:31
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: no me reconoce usuario

Intenta hacer el sha1 antes, no en la consulta SQL.

Código PHP:
Ver original
  1. $clave_hash = sha1($clave);
  2. $consulta= "SELECT nombreBD FROM usuarios2012 WHERE usuario='$usuario' and clave='$clave_hash' ";
  #5 (permalink)  
Antiguo 14/10/2012, 19:20
 
Fecha de Ingreso: abril-2011
Ubicación: Peru
Mensajes: 486
Antigüedad: 13 años
Puntos: 9
Respuesta: no me reconoce usuario

tampoco funciona :(
  #6 (permalink)  
Antiguo 15/10/2012, 05:45
Avatar de afrika026  
Fecha de Ingreso: junio-2011
Mensajes: 85
Antigüedad: 12 años, 10 meses
Puntos: 19
Respuesta: no me reconoce usuario

Las variables como $usuario y $clave las estas aplicando mal en la cadena $consulta. De la manera que vos los estas haciendo, usuario='$usuario', usuario toma el valor "$usuario" y no el valor que representa $usuario. Pasa lo mismo con
$clave.
La manera correcta sería:

$consulta= "SELECT nombreBD FROM usuarios2012 WHERE usuario='".$usuario."' and clave=SHA1('".$clave."')";

Es decir $usuario y $clave van concatenadas en la cadena $consulta, de esta manera a la cadena se le van a agregar el contenido de esas variables.

Etiquetas: formulario, mysql, reconoce, sql, tabla, 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 20:57.