Foros del Web » Programando para Internet » PHP »

No inicia sesión con contraseña en md5

Estas en el tema de No inicia sesión con contraseña en md5 en el foro de PHP en Foros del Web. Hola comunidad, tengo algunas semanas ya con esta situación y no encuentro una solución viable, ya probé hacer dos registros pero para los usuarios sería ...
  #1 (permalink)  
Antiguo 18/03/2013, 11:52
Avatar de Shikari  
Fecha de Ingreso: mayo-2012
Mensajes: 72
Antigüedad: 12 años, 6 meses
Puntos: 0
No inicia sesión con contraseña en md5

Hola comunidad, tengo algunas semanas ya con esta situación y no encuentro una solución viable, ya probé hacer dos registros pero para los usuarios sería bastante incomodo estarse registrando en el foro y en la web y quiero usar los usuarios del foro para que anden en las partes privadas de la web.

Bueno, detallaré la situación.

Tengo este formulario:

Código PHP:
<?php require_once('Connections/Foros.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  
session_start();
}

$loginFormAction $_SERVER['PHP_SELF'];
if (isset(
$_GET['accesscheck'])) {
  
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset(
$_POST['username'])) {
  
$loginUsername=$_POST['username'];
  
$password=(md5($_POST['password']));
  
$MM_fldUserAuthorization "";
  
$MM_redirectLoginSuccess "index.php";
  
$MM_redirectLoginFailed "error-al-iniciar-sesion.php";
  
$MM_redirecttoReferrer false;
  
mysql_select_db($database_Foros$Foros);
  
  
$LoginRS__query=sprintf("SELECT username, password FROM `user` WHERE username=%s AND password=%s",
    
GetSQLValueString($loginUsername"text"), GetSQLValueString($password"text")); 
   
  
$LoginRS mysql_query($LoginRS__query$Foros) or die(mysql_error());
  
$loginFoundUser mysql_num_rows($LoginRS);
  if (
$loginFoundUser) {
     
$loginStrGroup "";
    
    if (
PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    
//declare two session variables and assign them
    
$_SESSION['MM_Username'] = $loginUsername;
    
$_SESSION['MM_UserGroup'] = $loginStrGroup;          

    if (isset(
$_SESSION['PrevUrl']) && false) {
      
$MM_redirectLoginSuccess $_SESSION['PrevUrl'];    
    }
    
header("Location: " $MM_redirectLoginSuccess );
  }
  else {
    
header("Location: "$MM_redirectLoginFailed );
  }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<link rel="icon" type="image/png" href="Imagenes/favicon.png" />
<link href="CSS/Estilos.css" rel="stylesheet" type="text/css" />
<link href='http://fonts.googleapis.com/css?family=Tenor+Sans' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Iceland' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Holtwood+One+SC' rel='stylesheet' type='text/css'>
</head>

<body>

<div class="Contenedor-Cabecera">
    <div class="Cabecera">
        <div class="Cabecera-Logo">
        <?php include("Includes/Logo.php"); ?>
        </div>
    </div>
</div>

<div class="Espaciado-Sesion"></div>
<div class="Sesion">
    <h1>Iniciar Sesi&oacute;n</h1>
    <form id="form1" name="form1" method="POST" action="<?php echo $loginFormAction?>">
      <table border="0" align="center">
        <tr>
          <td align="right" valign="middle">Nick:</td>
          <td><label for="username"></label>
          <input name="username" type="text" id="username" size="32" /></td>
        </tr>
        <tr>
          <td align="right" valign="middle">Contrase&ntilde;a:</td>
          <td><label for="password"></label>
          <input name="password" type="password" id="password" size="32" /></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input name="button" type="submit" class="Boton" id="button" value="Iniciar Sesi&oacute;n" /></td>
        </tr>
      </table>
  </form>
    <p>&nbsp;</p>
</div>

</body>
</html>
Y la contraseña del foro está encriptada en md5, y según yo, al hacer esto:

Código PHP:
$password=(md5($_POST['password'])); 
Iba a poder hacer el inicio de sesión correctamente, pero siempre me manda al "error-al-iniciar-sesion.php", pero si meto la contraseña encriptada de 32 caracteres, me deja hacer el acceso correctamente.

Ya no sé que hacer y pues vengo pidiendo un poco de ayuda respecto a eso.

Saludos.
  #2 (permalink)  
Antiguo 18/03/2013, 11:57
Avatar de evolutionrgm  
Fecha de Ingreso: mayo-2011
Mensajes: 108
Antigüedad: 13 años, 6 meses
Puntos: 5
Respuesta: No inicia sesión con contraseña en md5

hace esto estimado

Código PHP:
Ver original
  1. $password=$_POST['password'];
  2. $password =md5(password);

y me cuentas como te fue saludos
  #3 (permalink)  
Antiguo 18/03/2013, 12:18
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No inicia sesión con contraseña en md5

hola creo q estas haciendo mal la consulta del password en MD5, ya qye la tienes de esta manera

Código PHP:
Ver original
  1. $password=(md5($_POST['password']));

y tendria que ir asi

Código PHP:
Ver original
  1. $password=md5($_POST["password"]);
  #4 (permalink)  
Antiguo 18/03/2013, 12:19
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No inicia sesión con contraseña en md5

si prestas atencion tienes un parentesis de mas ()
  #5 (permalink)  
Antiguo 18/03/2013, 12:50
Avatar de Shikari  
Fecha de Ingreso: mayo-2012
Mensajes: 72
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: No inicia sesión con contraseña en md5

Ya probé de estas formas:

Código PHP:
Ver original
  1. $password=$_POST['password'];
  2. $password=md5(password);

Código PHP:
Ver original
  1. $password=md5($_POST['password']);

Código PHP:
Ver original
  1. $password=$_POST['password'];
  2. $password=md5('password');

Y me sigue mandando a la página de error S:
  #6 (permalink)  
Antiguo 18/03/2013, 13:16
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No inicia sesión con contraseña en md5

ok dinos cual es el error que te muestra
  #7 (permalink)  
Antiguo 18/03/2013, 13:18
Avatar de Shikari  
Fecha de Ingreso: mayo-2012
Mensajes: 72
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: No inicia sesión con contraseña en md5

No me da error, me manda a la página llamada "error-al-iniciar-sesion.php".
  #8 (permalink)  
Antiguo 18/03/2013, 13:19
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No inicia sesión con contraseña en md5

ok y para q pagina tendria que enviarte segun tu, podrias mostrar el codigo donde hace esa redireccion
  #9 (permalink)  
Antiguo 18/03/2013, 13:21
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No inicia sesión con contraseña en md5

bueno por lo q veo estas variables estan bien aqui muestras que si esta bien el logeo te envie al index de lo contrario te envie al archivo de error

Código PHP:
Ver original
  1. $MM_redirectLoginSuccess = "index.php";
  2.   $MM_redirectLoginFailed = "error-al-iniciar-sesion.php";
  #10 (permalink)  
Antiguo 18/03/2013, 13:22
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No inicia sesión con contraseña en md5

pero una duda que tengo como se llama el archivo donde te logeas es decir el archivo dodne tienes el formulario de acceso
  #11 (permalink)  
Antiguo 18/03/2013, 13:24
Avatar de Shikari  
Fecha de Ingreso: mayo-2012
Mensajes: 72
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: No inicia sesión con contraseña en md5

¿iniciar-sesion.php?
  #12 (permalink)  
Antiguo 18/03/2013, 13:26
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No inicia sesión con contraseña en md5

y el nombre de este archivo esta asi igual como lo tienes escrito aqui

error-al-iniciar-sesion.php
  #13 (permalink)  
Antiguo 18/03/2013, 13:27
Avatar de Shikari  
Fecha de Ingreso: mayo-2012
Mensajes: 72
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: No inicia sesión con contraseña en md5

Sí, todo está tal y como se muestra en el formulario de arriba.
  #14 (permalink)  
Antiguo 18/03/2013, 13:30
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No inicia sesión con contraseña en md5

y para el acceso segun usuarios a cada modulo como lo tienes declarado por nivel o como es decir administrador y suuario, me refiero a esto en la entrada de cada modulo

Código PHP:
Ver original
  1. if (!isset($_SESSION)) {
  2. }
  3. $MM_authorizedUsers = "1";
  4. $MM_donotCheckaccess = "false";
  #15 (permalink)  
Antiguo 18/03/2013, 13:32
Avatar de Shikari  
Fecha de Ingreso: mayo-2012
Mensajes: 72
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: No inicia sesión con contraseña en md5

No está por nivel de acceso, solamente usuario y contraseña ¿Crees que sea eso?
  #16 (permalink)  
Antiguo 18/03/2013, 13:38
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No inicia sesión con contraseña en md5

pues si ese es el error
has algo coloca donde tienes dodne redirecciona de index.php cambialo al archivo de error y vicescersa
  #17 (permalink)  
Antiguo 18/03/2013, 13:42
Avatar de Shikari  
Fecha de Ingreso: mayo-2012
Mensajes: 72
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: No inicia sesión con contraseña en md5

Pues, me manda al archivo index, pero se supone que eso tiene que pasar.
  #18 (permalink)  
Antiguo 18/03/2013, 13:45
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No inicia sesión con contraseña en md5

alli si te envia al archivo index normal, ahora copia la url del index, y cierra sesion y en el archivo de logeo coloca la url que copiaste y les das al navegador para q entre, haber si te deja entrar
  #19 (permalink)  
Antiguo 18/03/2013, 13:48
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No inicia sesión con contraseña en md5

me acabo de dar de cuenta que tieens encerrada en comillas simplre esta consulta la tabla user donde no deberia de estarlo

Código PHP:
Ver original
  1. $LoginRS__query=sprintf("SELECT username, password FROM `user` WHERE username=%s AND password=%s",
  2.     GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
  #20 (permalink)  
Antiguo 18/03/2013, 13:49
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No inicia sesión con contraseña en md5

si ves bien user no tiene q estar encerrada en comillas

SELECT username, password FROM `user` WHERE
  #21 (permalink)  
Antiguo 18/03/2013, 13:58
Avatar de Shikari  
Fecha de Ingreso: mayo-2012
Mensajes: 72
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: No inicia sesión con contraseña en md5

Sigue sin hacer el login, pero casi creo que solamente es en la contraseña, porque probé con otros campos, por ejemplo; usuario y correo y me da correctamente el acceso.
  #22 (permalink)  
Antiguo 18/03/2013, 14:05
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No inicia sesión con contraseña en md5

entonces verificar la contraseña quita la funcion MD5 y registra un dato normal en la bd como por ejemplo 1234 y luego ingresa desde el formulario login con esa clave haber si te da el acceso, pero quita la funcion md5

Etiquetas: formulario, html, inicia, mysql, registro, select, sesión, sql, usuarios, variables
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 11:02.