Foros del Web » Programando para Internet » PHP »

Problema con usuario y contraseña

Estas en el tema de Problema con usuario y contraseña en el foro de PHP en Foros del Web. Hola! Tengo un tabla en la base de datos mysql donde almaceno usuario y contraseña. ¿Cómo consigo verificarlas? $sql='SELECT nombre, pass FROM usuarios WHERE nombre=$_POST[nombre] ...
  #1 (permalink)  
Antiguo 25/09/2008, 11:16
Avatar de Freakme  
Fecha de Ingreso: julio-2007
Ubicación: Portugalete
Mensajes: 97
Antigüedad: 16 años, 8 meses
Puntos: 0
Problema con usuario y contraseña

Hola!
Tengo un tabla en la base de datos mysql donde almaceno usuario y contraseña.
¿Cómo consigo verificarlas?

$sql='SELECT nombre, pass FROM usuarios WHERE nombre=$_POST[nombre] AND pass=$_POST[pass]';
$consulta=mysql_query($sql);
if ($consulta==false)
{echo "<br />usuario NO válido<p />";}
else {echo "<br />usuario válido<p />";
}

He recogido esto, buscando por internet, pero no me funciona... me dá siempre "válido" o siempre "NO válido", según le apetezca... dá igual que usuario y contraseña meta.
¿Donde está el fallo? Si alguien puede ayudarme, lo agradeceré enormemente.
  #2 (permalink)  
Antiguo 25/09/2008, 11:31
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Problema con usuario y contraseña

Ese código está plagado de errores, ok, en primer lugar: no debes usar esto alegremente:

nombre=$_POST[nombre] AND pass=$_POST[pass]';

Aunque pueda funcionar, no es nada recomendable, debes tomar losvalores de $_POST en variables, de este modo:

$nombre = $_POST["nombre"];
$pass = $_POST["pass"];

Después la sentencia SQL debe ser así:

$sql="SELECT nombre, pass FROM usuarios WHERE nombre='$nombre' AND pass='$pass'";

Nota las comillas que encierran a las variables, eso debe estar así porque los campos nombre y pass son de tipo charvar no numéricas, sólo cuando son numéricas no se debe poner esas comillas.

Por último la variable $consulta no es una variable boleana para que pruebes a través de ella si el resultado de la consulta ha devuelto registros o no. Lo que debes hacer es lo siguiete:

$consulta=mysql_query($sql);
if (mysql_num_rows($consulta)) echo "usuario v&aacute;lido";
else echo "Usuairo NO v&aacute;lido";
  #3 (permalink)  
Antiguo 25/09/2008, 15:20
Avatar de Freakme  
Fecha de Ingreso: julio-2007
Ubicación: Portugalete
Mensajes: 97
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Problema con usuario y contraseña

Muchas gracias por tu ayuda, ahora ya funciona bien.
  #4 (permalink)  
Antiguo 26/09/2008, 08:23
Avatar de stone_neo  
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 20 años
Puntos: 15
Respuesta: Problema con usuario y contraseña

Solo como sugerencia:

Deberias codificar la contraseña para guardarla en base de datos, deberias usar la funcion md5 provista por MySQL. ya que si alguien tiene acceso a tu base podrá ver las contraseñas facilamente.
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)
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 01:36.