Foros del Web » Programando para Internet » PHP »

Echenme la mano

Estas en el tema de Echenme la mano en el foro de PHP en Foros del Web. Estoy tratando de hacer un sistema de login pero la contraseña esta encriptada en md5 pero no puedo hacer que funcione echenme una mano porfas ...
  #1 (permalink)  
Antiguo 03/09/2010, 09:58
 
Fecha de Ingreso: agosto-2010
Mensajes: 66
Antigüedad: 14 años, 4 meses
Puntos: 1
Echenme la mano

Estoy tratando de hacer un sistema de login pero la contraseña esta encriptada en md5 pero no puedo hacer que funcione echenme una mano porfas aqui mi codigo

<?php
mysql_connect('localhost','usuario', "unknown");
mysql_select_db('placas');
$usuario = strtolower($_POST["usuario"]);
$password = $_POST["password"];
if($usuario!= "" && $password!= "")
{
$sql=mysql_query("select usuario from administradores where usuario='".$usuario."' and ='".md5($password)."'") or die(mysql_error());
if($f= mysql_fetch_array($sql)){
if($f["password"] == $password){
$_SESSION["k_username"] = $f['usuario'];
echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
echo '<a href="paneldecontrol.php">ENTRAR AL PANEL DE CONTROL</a></p>';

}else{
echo 'Password incorrecto';
}
}else{
echo 'Usuario no existente en la base de datos ';

}

}

?>


y aqui mi error

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '='0183459a6cb7a31c13f0f1f52ec011d2'' at line 1
  #2 (permalink)  
Antiguo 03/09/2010, 10:11
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 8 meses
Puntos: 461
Respuesta: Echenme la mano

Código PHP:
Ver original
  1. $sql=mysql_query("select usuario from administradores where usuario='".$usuario."' and ='".md5($password)."'") or die(mysql_error());
viste bien como haces tu consulta???
and ????=".md5($password)." ahi t falta decir cual es el campo que estas igualando a
Código PHP:
Ver original
  1. $sql=mysql_query("select usuario from administradores where usuario='".$usuario."' and password='".md5($password)."'") or die(mysql_error());
password otra cosa
Cita:
if($f["password"] == $password){
esto redunda si ya tu preguntaste arriba por la password en la consulta para que volver a preguntar lo mismo con un if se supone que la consulta te trae los datos que sea igual el usuario y la password o lo haces en la consulta o lo haces con el if eso ya es decision tuya
suerte
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 03/09/2010, 10:31
 
Fecha de Ingreso: agosto-2010
Mensajes: 66
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Echenme la mano

Ok ya lo modifique un poquito pero ahora no me deja entrar me dice que la contraseña es incorrecta.

<?php
mysql_connect('localhost','usuario', "unknown");
mysql_select_db('placas');
$usuario=$_POST['usuario'];
$password=$_POST['password'];
if($usuario!= "" && $password!= "")
{
$sql=mysql_query("select usuario, password from administradores where usuario='".$usuario."' and password='".md5($password)."'") or die(mysql_error());
if($f= mysql_fetch_array($sql)){

session_start();
$_SESSION["usuario"]=$usuario;
$_SESSION["password"]=$password;
echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
header("Location:paneldecontrol.php");
}else{
echo 'Password incorrecto';
}
}else{
echo 'Usuario no existente en la base de datos ';

}



?>
  #4 (permalink)  
Antiguo 03/09/2010, 10:36
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 8 meses
Puntos: 461
Respuesta: Echenme la mano

Cita:
session_start();
hasta donde tengo entendido debe de ir al principio de la pagina xq sino te puede traer problemas, otra cosa
Cita:
if($f= mysql_fetch_array($sql)){
no seria mejor q contaras los registros y veas si hay asi
Código PHP:
Ver original
  1. if(mysql_num_rows($sql)){
  2.    #loq hagas si esta logueado
  3. }
  4. else{
  5.   #loq hagas si tiene un dato incorrecto
  6. }
otro concejo usa las etiquetas highlight del foro para que tu codigo se entienda mejor ya q asi es mas amigable ver tu codigo
__________________
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: mano
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 05:09.