elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Ayuda con script login
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con script login  (Leído 3,106 veces)
mokoMonster


Desconectado Desconectado

Mensajes: 301


<? ...


Ver Perfil
Ayuda con script login
« en: 4 Agosto 2010, 01:58 am »

Buenas, según yo este script debe funcionar, pero al comparar los password introducidos por el usuario en el campo password con el password de la base de datos aparece el mensaje de error.

NOTA: El password en la base de datos esta en md5, por lo cual siento que este script debe funcionar porque los dos son iguales.


<?php 
session_start
();
include(
"conex.php");

$link=Conectarse();
$noUsuario=$_POST['noUsuario'];
$password=md5($_POST['password']);

$querymysql_query("SELECT noUsuario,password FROM Usuarios WHERE noUsuario='$noUsuario'",$link) or die(mysql_error());
$data mysql_fetch_array($query);

if (
$noUsuario=='') { 
echo 
'
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td bgcolor="#FFF"><br/><br/><br/>'
;
	
//Mensaje de campos vacios.
    
echo "<center><strong>Campos Usuario o Contraseña Incorrectos<br/>Por favor llene correctamente los campos. USER<br/><a href='javascript:history.go(-1)'> Atras</a></strong></center>";
	
	
echo 
'</td>
  </tr>
</table><br/><br/><br/>'
;
mysql_close($query);
	
exit;
}

elseif ((
$password !='')||($data['password']!=$password)) {
echo 
'
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td bgcolor="#FFF"><br/><br/><br/>'
;
    echo 
"<center><strong>Campos Usuario o Contraseña Incorrectos<br/>Por favor llene correctamente los campos. PWD<br/><a href='javascript:history.go(-1)'> Atras</a></strong></center>";
	
	
	
echo 
'</td>
  </tr>
</table><br/><br/><br/>'
;
mysql_close($query);
exit;

    }else{
    
$query mysql_query("SELECT noUsuario,password FROM Usuarios WHERE noUsuario = '$noUsuario' AND password='$password'",$link) or die(mysql_error());
    
$row mysql_fetch_array($query);

    
$_SESSION['noUsuario'] = $row['noUsuario'];  
	
$_SESSION['password'] = $row['password'];
echo 
'<br/><br/><br/>
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td bgcolor="#FFF">'
;
	
echo 
"<center><strong>".$row['noUsuario']."<br/><a href='javascript:history.go(-1)'> Atras</a></strong></center>";
	
echo 
'</td>
  </tr>
</table><br/><br/><br/>'
;
mysql_close($query);
exit;
}
?>

Bueno, Muchas gracias por su ayuda para localizar el error.
Saludos  ;)


En línea

"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Ayuda con script login
« Respuesta #1 en: 4 Agosto 2010, 02:03 am »

You say the password in the database is encryptada MD5, but at the time of the query in PHP, the password is not encryptada.

From MySQL query
Código
  1. SELECT noUsuario, password
  2.  FROM Usuarios
  3. WHERE ((noUsuario = 'ALEX') AND (password = MD5('ALEX')));

From PHP
Código
  1. $noUsuario = 'ALEX';
  2. $password = 'ALEX';
  3. $password = MD5($password);
  4. $query = mysql_query("SELECT noUsuario,password FROM Usuarios WHERE noUsuario = '".$noUsuario."' AND password='".$password."'",$link) or die(mysql_error());


« Última modificación: 4 Agosto 2010, 02:07 am por Shell Root » En línea

Te vendería mi talento por poder dormir tranquilo.
mokoMonster


Desconectado Desconectado

Mensajes: 301


<? ...


Ver Perfil
Re: Ayuda con script login
« Respuesta #2 en: 4 Agosto 2010, 02:24 am »

Bueno de hecho la contraseña esta guardada desde el registro en MD5, es decir, cuando el usuario mete el pass este se cifra guardando el valor cifrado en la tabla, por lo que
$password=MD5($_POST['password']);
deberia ser igual al campo de la tabla.

Hice algunos cambios de acuerdo a tu respuesta, pero sigue dandome el error.

<?php 
session_start
();
include(
"conex.php");

$link=Conectarse();
$noUsuario=$_POST['noUsuario'];
// Cambio
$password=$_POST['password'];
$password=md5($password);
// Cambio
$query mysql_query("SELECT noUsuario,password FROM Usuarios WHERE noUsuario = '".$noUsuario."' AND password='".$password."'",$link) or die(mysql_error());
$data mysql_fetch_array($query);

if (
$noUsuario=='') { 
echo 
'
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td bgcolor="#FFF"><br/><br/><br/>'
;
	
//Mensaje de campos vacios.
    
echo "<center><strong>Campos Usuario o Contraseña Incorrectos<br/>Por favor llene correctamente los campos. USER<br/><a href='javascript:history.go(-1)'> Atras</a></strong></center>";
	
	
echo 
'</td>
  </tr>
</table><br/><br/><br/>'
;
mysql_close($query);
	
exit;
}

elseif ((
$password !='')||($data['password']!=$password)) {
echo 
'
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td bgcolor="#FFF"><br/><br/><br/>'
;
    echo 
"<center><strong>Campos Usuario o Contraseña Incorrectos<br/>Por favor llene correctamente los campos. PWD<br/><a href='javascript:history.go(-1)'> Atras</a></strong></center>";
	
	
	
echo 
'</td>
  </tr>
</table><br/><br/><br/>'
;
mysql_close($query);
exit;

    }else{
// Cambio
    
$query mysql_query("SELECT noUsuario,password FROM Usuarios WHERE noUsuario = '".$noUsuario."' AND password='".$password."'",$link) or die(mysql_error());
    
$row mysql_fetch_array($query);
    
$_SESSION['noUsuario'] = $row['noUsuario'];  
	
$_SESSION['password'] = $row['password'];
echo 
'<br/><br/><br/>
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td bgcolor="#FFF">'
;
	
echo 
"<center><strong>".$row['noUsuario']."<br/><a href='javascript:history.go(-1)'> Atras</a></strong></center>";
	
echo 
'</td>
  </tr>
</table><br/><br/><br/>'
;
mysql_close($query);
exit;
}
?>


Saludos
En línea

"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Ayuda con script login
« Respuesta #3 en: 4 Agosto 2010, 02:30 am »

Ok, ok, sorry did not see it. Attempts to display the query and verify it within the MySQL console. For example:
Código
  1. echo "SELECT noUsuario, password FROM Usuarios WHERE noUsuario = '".$noUsuario."' AND password='".$password."'";
En línea

Te vendería mi talento por poder dormir tranquilo.
mokoMonster


Desconectado Desconectado

Mensajes: 301


<? ...


Ver Perfil
Re: Ayuda con script login
« Respuesta #4 en: 4 Agosto 2010, 02:46 am »

Ok, mira hice un echo como lo pusiste en el script php (porque no entiendo por que debo ejecutar el script php en la consola MySQL) y me devolvio esto:

SELECT noUsuario, password FROM Usuarios WHERE noUsuario = 'mokomonster' AND password='e274672404ejemplo70b40651792'

Y como no estaba seguro de lo que querias con el echo, tambien hice un echo $query; y me devolvio esto:

Resource id #7...
En línea

"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange
mokoMonster


Desconectado Desconectado

Mensajes: 301


<? ...


Ver Perfil
Re: Ayuda con script login
« Respuesta #5 en: 4 Agosto 2010, 03:12 am »

Código:
SELECT * 
FROM  `Usuarios`
WHERE noUsuario =  'mokomonster'
AND PASSWORD =  'e274672404eejemplo97d70b40651792'
LIMIT 0 , 30

Ejecute esta sentencia en la consola MySql y si me devolvio la fila del registro.

De verdad no entiendo que es lo que esta mal, saludos.


Tambien hice esta

Código:
SELECT * 
FROM  `Usuarios`
WHERE (

PASSWORD = MD5(  'palabrasecreta' )
)
LIMIT 0 , 30
y me devolvio la fila :) entonces aun peor, no ntiendo que eesta mal
« Última modificación: 4 Agosto 2010, 03:55 am por mokoMonster » En línea

"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange
MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Ayuda con script login
« Respuesta #6 en: 4 Agosto 2010, 04:00 am »

Y donde es que te atoras?

Código
  1. <?php
  2. include("conex.php");
  3.  
  4. $link=Conectarse();
  5. $noUsuario=$_POST['noUsuario'];
  6. $password=md5($_POST['password']);
  7. $query = mysql_query("SELECT noUsuario,password FROM Usuarios WHERE noUsuario = '".$noUsuario."' AND password='".$password."'",$link) or die(mysql_error());
  8.  
  9. $data = mysql_fetch_array($query);
  10.  
  11. if (empty($noUsuario)) {
  12. echo '
  13. <table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
  14.  <tr>
  15.    <td bgcolor="#FFF"><br/><br/><br/>';
  16. //Mensaje de campos vacios.
  17.    echo "<center><strong>Campos Usuario o Contrase&#241;a Incorrectos<br/>Por favor llene correctamente los campos. USER<br/><a href='javascript:history.go(-1)'> Atras</a></strong></center>";
  18. echo '</td>
  19.  </tr>
  20. </table><br/><br/><br/>';
  21. mysql_close($query);
  22. }
  23.  
  24. elseif (empty($password) || ($data['password']!=$password)) {
  25. echo '
  26. <table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
  27.  <tr>
  28.    <td bgcolor="#FFF"><br/><br/><br/>';
  29.    echo "<center><strong>Campos Usuario o Contrase&#241;a Incorrectos<br/>Por favor llene correctamente los campos. PWD<br/><a href='javascript:history.go(-1)'> Atras</a></strong></center>";
  30. echo '</td>
  31.  </tr>
  32. </table><br/><br/><br/>';
  33. mysql_close($query);
  34.  
  35.    }else{
  36. // Cambio
  37.    $query = mysql_query("SELECT noUsuario,password FROM Usuarios WHERE noUsuario = '".$noUsuario."' AND password='".$password."'",$link) or die(mysql_error());
  38.  
  39.    $row = mysql_fetch_array($query);
  40.    $_SESSION['noUsuario'] = $row['noUsuario'];  
  41. $_SESSION['password'] = $row['password'];
  42. echo '<br/><br/><br/>
  43. <table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
  44.  <tr>
  45.    <td bgcolor="#FFF">';
  46. echo "<center><strong>".$row['noUsuario']."<br/><a href='javascript:history.go(-1)'> Atras</a></strong></center>";
  47. echo '</td>
  48.  </tr>
  49. </table><br/><br/><br/>';
  50. mysql_close($query);
  51. }
  52. ?>

Hice solo un par de cambios... pero sería buena idea de que mostrarás hacia donde se mueve el código a la hora de ejecutarse para ver en que condición cae.

Edit: Tengo la ligera sospecha de que cae en el elseif... lo cual significa que o la password esta vacía o que no concuerdan las passwords.

Imprime las dos variables para ver si son las mismas

Código
  1. echo "<h1>".$data['password']." != ".$password."</h1>";
  2.  
« Última modificación: 4 Agosto 2010, 04:05 am por MinusFour » En línea

mokoMonster


Desconectado Desconectado

Mensajes: 301


<? ...


Ver Perfil
Re: Ayuda con script login
« Respuesta #7 en: 4 Agosto 2010, 04:13 am »

Perfecto, ahora funciona, en realidad no se que estaba mal, supongo que el $value='';, pero bueno ahora funciona, me da error al cerrar la conexion con mysql_close($query); , pero eso ya lo resovlere. Muchas garcias.
Saludos.
En línea

"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange
Dznp

Desconectado Desconectado

Mensajes: 119


Ver Perfil
Re: Ayuda con script login
« Respuesta #8 en: 4 Agosto 2010, 04:25 am »

Es obvio que eso te va a dar error, ya que no podes cerrar la conexión de una consulta :B

Proba mysql_close($link);    ;)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con un un login java
Java
dato000 0 2,861 Último mensaje 24 Mayo 2011, 21:42 pm
por dato000
Ayuda con un Login !! « 1 2 »
.NET (C#, VB.NET, ASP)
llAudioslavell 11 7,384 Último mensaje 21 Agosto 2011, 21:46 pm
por llAudioslavell
Login en web mediante script php
PHP
vrodasjj 3 2,767 Último mensaje 17 Abril 2012, 05:02 am
por Graphixx
ayuda con login
PHP
General Dmitry Vergadoski 1 3,059 Último mensaje 28 Mayo 2013, 23:07 pm
por Nasty35
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines