Autor
|
Tema: Ayuda con script login (Leído 3,106 veces)
|
mokoMonster
Desconectado
Mensajes: 301
<? ...
|
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']);
$query= mysql_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
|
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 querySELECT noUsuario, password FROM Usuarios WHERE ((noUsuario = 'ALEX') AND (password = MD5('ALEX')));
From PHP$noUsuario = 'ALEX'; $password = 'ALEX'; $password = MD5($password); $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
Mensajes: 301
<? ...
|
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
|
Ok, ok, sorry did not see it. Attempts to display the query and verify it within the MySQL console. For example: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
Mensajes: 301
<? ...
|
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
Mensajes: 301
<? ...
|
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 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
|
Y donde es que te atoras? <?php include("conex.php"); $link=Conectarse(); $noUsuario=$_POST['noUsuario']; $password=md5($_POST['password']); $query = mysql_query("SELECT noUsuario,password FROM Usuarios WHERE noUsuario = '".$noUsuario."' AND password='".$password."'",$link) or die(mysql_error()); 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/>'; } elseif (empty($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/>'; }else{ // Cambio $query = mysql_query("SELECT noUsuario,password FROM Usuarios WHERE noUsuario = '".$noUsuario."' AND password='".$password."'",$link) or die(mysql_error()); $_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/>'; } ?>
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 echo "<h1>".$data['password']." != ".$password."</h1>";
|
|
« Última modificación: 4 Agosto 2010, 04:05 am por MinusFour »
|
En línea
|
|
|
|
mokoMonster
Desconectado
Mensajes: 301
<? ...
|
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
Mensajes: 119
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda con un un login java
Java
|
dato000
|
0
|
2,861
|
24 Mayo 2011, 21:42 pm
por dato000
|
|
|
Ayuda con un Login !!
« 1 2 »
.NET (C#, VB.NET, ASP)
|
llAudioslavell
|
11
|
7,384
|
21 Agosto 2011, 21:46 pm
por llAudioslavell
|
|
|
Login en web mediante script php
PHP
|
vrodasjj
|
3
|
2,767
|
17 Abril 2012, 05:02 am
por Graphixx
|
|
|
ayuda con login
PHP
|
General Dmitry Vergadoski
|
1
|
3,059
|
28 Mayo 2013, 23:07 pm
por Nasty35
|
|