Ver Mensaje Individual
  #14 (permalink)  
Antiguo 01/02/2014, 15:48
MeDxEc
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 11 años
Puntos: 2
Respuesta: Problemas al comparar datos traídos desde MySQL

Es un poco tonto... Pero ya lo solucioné.

No tengo ni idea de que fue lo que pasó, bueno, de porqué pasó. Simplemente saqué el md5 de la condición junto con la sentencia sql. Quedó así:

Código PHP:
Ver original
  1. <?php
  2.  
  3.     include('../config/cnx.php');
  4.  
  5.     $enviar = $_POST['enviar'];
  6.     $nickname = $_POST['nickname'];
  7.     $pwd = $_POST['pwd'];
  8.     $pwd = md5($pwd);
  9.  
  10.     $sql = sprintf("SELECT iduser, nickname, password FROM usuarios WHERE nickname = '%s' AND password = '%s'",mysqli_real_escape_string($conexion,$nickname),mysqli_real_escape_string($conexion,$pwd));
  11.  
  12.     session_start();
  13.  
  14.     if(isset($enviar)) {        
  15.         if(empty($nickname) || empty($pwd)) {
  16.             echo "El usuario o la contraseña no han sido ingresados. <a href='javascript:history.back();'>Reintentar</a>";
  17.         }else {
  18.            
  19.             $query = mysqli_query($conexion,$sql);
  20.            
  21.             if($row = mysqli_fetch_array($query)) {
  22.                 $_SESSION['iduser'] = $row['iduser'];
  23.                 $_SESSION['nickname'] = $row['nickname'];
  24.                 header("Location: index.php");
  25.             }else {
  26. ?>
  27.                 Error, <a href="index.php">Reintentar</a>
  28. <?php
  29.             }
  30.         }
  31.     }else {
  32.         header("Location: index.php");
  33.     }
  34. ?>

Al parecer, no lo sabía, el hecho de que la sentencia esté en un condicional hace que su valor no varíe de acuerdo a lo que se declare anteriormente sino que se mantenga con un valor constante desconocido.

Doy por solucionado el tema pero si alguien quiere entrar y explicar este fenómeno será bienvenido. Muchas gracias a todos los que respondieron :) (Le doy el punto a luis quien fue el que se dio cuenta de en que script estaba el error)