Foros del Web » Programando para Internet » PHP »

problema para insertar el md5

Estas en el tema de problema para insertar el md5 en el foro de PHP en Foros del Web. hola soy nuevo en el foro y les propongo si alguie sabe como hacer que mi base mysql me devuelva la clave de usuarios en ...
  #1 (permalink)  
Antiguo 19/12/2009, 15:54
 
Fecha de Ingreso: diciembre-2009
Mensajes: 6
Antigüedad: 14 años, 11 meses
Puntos: 0
problema para insertar el md5

hola soy nuevo en el foro y les propongo si alguie sabe como hacer que mi base mysql me devuelva la clave de usuarios en md5 cifrada para que el usuario al loguearse o ingresar le reconozca el password, a continuacion les paso el codigo
gracias de antemano.



<?php
session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','usuario','password')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('mi_base')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function quitar($mensaje)
{
$nopermitidos = array("'",'\\','<','>',"\"");
$mensaje = str_replace($nopermitidos, "", $mensaje);
return $mensaje;
}
if(trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
// Puedes utilizar la funcion para eliminar algun caracter en especifico
//$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
//$password = $HTTP_POST_VARS["password"];
// o puedes convertir los a su entidad HTML aplicable con htmlentities
$usuario = strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));
$password = $HTTP_POST_VARS["password"];
$result = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
if($row = mysql_fetch_array($result)){
if($row["password"] == $password){
$_SESSION["k_username"] = $row['usuario'];
echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
echo '<a href="index.php">Index</a></p>';
//Elimina el siguiente comentario si quieres que re-dirigir automáticamente a index.php
/*Ingreso exitoso, ahora sera dirigido a la pagina principal.
<SCRIPT LANGUAGE="javascript">
location.href = "index.php";
</SCRIPT>*/
}else{
echo 'Password incorrecto';
}
}else{
echo 'Usuario no existente en la base de datos';
}
mysql_free_result($result);
}else{
echo 'Debe especificar un usuario y password';
}
mysql_close();
?>
  #2 (permalink)  
Antiguo 20/12/2009, 04:25
 
Fecha de Ingreso: junio-2007
Mensajes: 189
Antigüedad: 17 años, 5 meses
Puntos: 3
Respuesta: problema para insertar el md5

Código PHP:
<?php
session_start
();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','usuario','password')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('mi_base')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function 
quitar($mensaje)
{
$nopermitidos = array("'",'\\','<','>',"\"");
$mensaje str_replace($nopermitidos""$mensaje);
return 
$mensaje;
}
if(
trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
// Puedes utilizar la funcion para eliminar algun caracter en especifico
//$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
//$password = $HTTP_POST_VARS["password"];
// o puedes convertir los a su entidad HTML aplicable con htmlentities
$usuario strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));
$password $HTTP_POST_VARS["password"];
$result mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
if(
$row mysql_fetch_array($result)){
if(
$row["password"] == $password){
$_SESSION["k_username"] = $row['usuario'];
echo 
'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
echo 
'<a href="index.php">Index</a></p>';
//Elimina el siguiente comentario si quieres que re-dirigir automáticamente a index.php
/*Ingreso exitoso, ahora sera dirigido a la pagina principal.
<SCRIPT LANGUAGE="javascript">
location.href = "index.php";
</SCRIPT>*/
}else{
echo 
'Password incorrecto';
}
}else{
echo 
'Usuario no existente en la base de datos';
}
mysql_free_result($result);
}else{
echo 
'Debe especificar un usuario y password';
}
mysql_close();
?>
El problema esta if($row["password"] == $password)

Por que la contraseña en la base de datos esta codificada ($row['password']), pero $password no, entonces

Esta linea:
if($row["password"] == $password){

Tienes que cambiarla por esta
if($row["password"] == md5($password)){

Espero averte ayudado.

MOD, este creo que es un problema de php no de un editor web
  #3 (permalink)  
Antiguo 20/12/2009, 08:38
 
Fecha de Ingreso: diciembre-2009
Mensajes: 6
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problema para insertar el md5

gracias SoutlinK lo probare,ya te contare si funciono
  #4 (permalink)  
Antiguo 20/12/2009, 14:55
 
Fecha de Ingreso: diciembre-2009
Mensajes: 6
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problema para insertar el md5

funciono muchas gracias ,me habia quedado atascado en el la creacion de mi web muchas gracias me salvastes:apla uso:
  #5 (permalink)  
Antiguo 20/12/2009, 14:57
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Hola betancomo

Muevo tu tema al foro de PHP desde Editores Web.

Saludos,
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 13:00.