Foros del Web » Programando para Internet » PHP »

problema sentencia sql

Estas en el tema de problema sentencia sql en el foro de PHP en Foros del Web. necesito un favor... estoy aprendiendo a hacer un login... el tema es que encripto las contraseñas con la funcion PASSWORD de mysql el problema que ...
  #1 (permalink)  
Antiguo 23/06/2005, 23:25
 
Fecha de Ingreso: junio-2005
Mensajes: 9
Antigüedad: 18 años, 10 meses
Puntos: 0
problema sentencia sql

necesito un favor...
estoy aprendiendo a hacer un login...
el tema es que encripto las contraseñas con la funcion PASSWORD de mysql
el problema que se me plante es que cuando intento hacer que me busque usuario y contraseña en la base de datos no me lo encuentra, sino pongo la contraseña encriptada si funciona pero sino no
aca esta la sentencia sql

$sql = "SELECT * FROM users WHERE name like '$user' and password LIKE password('$pass')";

no se como hacer para que cuando envia la sentencia sql encripte el pass para que coincida con el valor que esta almacenado en la base de datos

Muchas gracias
  #2 (permalink)  
Antiguo 23/06/2005, 23:43
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
... pués debería de ser así.. solo que no uses "LIKE" sino "=", los datos deben coincidir en su totalidad ¿no?...

Código PHP:
$sql "SELECT * FROM users WHERE name='$user' AND password=password('$pass')"
Suponiendo antes hiciste
Código:
INSERT INTO tabla VALUES(password('$password'), '..')'
... ¿por qué no muestras más código??.. en caso de que no sigas con problemas...

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 23/06/2005, 23:45
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Por cierto... http://dev.mysql.com/doc/mysql/en/en...functions.html << encriptaciónes de MySQL.. es común usar MD5...

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 24/06/2005, 07:40
 
Fecha de Ingreso: junio-2005
Mensajes: 9
Antigüedad: 18 años, 10 meses
Puntos: 0
aca te mando todo el codigo

<? session_start();
session.bug_compat_42;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?
$logged_in_user = $HTTP_SESSION_VARS["logged_in_user"];
$user = $_POST[user];
$pass = $_POST[pass];
$link = "<a href ='main.htm'>Inicio</a>"."<br>"."<a href='logout.php'>Logout</a>";
if ($user && $pass){

if($logged_in_user == $user){
echo $user." ya se encuentra logueado"."<br><br>";
echo $link;
exit;
}

$db = mysql_connect("localhost","Federico","ericas");
mysql_select_db("userlist",$db);

$sql = "SELECT * FROM users WHERE name='$user' and password=PASSWORD('$pass')";
$result = mysql_query($sql,$db);

if(!$result){
echo "Problema tecnico con el login, disculpe las molestias";
exit;
}

if (mysql_num_rows($result) > 0){
$logged_in_user = $user;
session_register("logged_in_user");
echo "Bienvenido ".$logged_in_user."<br><br>";
echo $link;
exit;
}else{
echo "Login invalido, intente nuevamente"."<br><br>";
}

}else{
if ( $user | $pass){
echo "Por favor llene los dos campos";
}
}
?>
<form action="login.php" method="post">
Usuario:
<input type="text" name="user" maxlength="20" size="20">
Contraseña:
<input name="pass" type="password" maxlength="10" size="10">
<br>
<input type="submit" value="Login">
</form>
</body>
</html>

en la base de datos tengo por ej
el user: pepe con la contraseña encriptada por la funcion sql password *8510F324E9F36CF8A61B348E6EF44AED19A84D1
muchisimas gracias por la ayuda :)
  #5 (permalink)  
Antiguo 24/06/2005, 08:13
 
Fecha de Ingreso: junio-2005
Mensajes: 9
Antigüedad: 18 años, 10 meses
Puntos: 0
che ya esta... use otra forma de encriptacion que estaba en el link que me mandaste y funciono joya pongo la sentencia sql por si a alguien le sirve
$sql = "SELECT * FROM users WHERE name='$user' AND password=MD5('$pass')";

Gracias
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:37.