Foros del Web » Programando para Internet » PHP »

PHP OO Ayuda con mi Acceso login

Estas en el tema de Ayuda con mi Acceso login en el foro de PHP en Foros del Web. Buenas noches amigos tengo una consulta vista previa quisiera que me ayuden se los agradeceria muchisimo estado indagando pero hasta el momento no encontrado la ...
  #1 (permalink)  
Antiguo 31/05/2013, 22:05
Avatar de nexus44  
Fecha de Ingreso: octubre-2012
Ubicación: Piura
Mensajes: 108
Antigüedad: 11 años, 5 meses
Puntos: 1
Ayuda con mi Acceso login

Buenas noches amigos tengo una consulta vista previa quisiera que me ayuden se los agradeceria muchisimo estado indagando pero hasta el momento no encontrado la solucion respecto a este problema que tengo.

Estado elaborando un login (acceso) bueno lo que pasa con este login que al momento que yo quiero acceder al login ; Me registre con ID : oscar Clave: car123 entonces cual viene hacer el problema , que si yo colocara de ID : OSCAR y clave : CAR123 , con letras mayusculas tambien me deja entrar , pero lo que yo quisiera es que no me deje entrar , si no como tal me registro yo pueda ingresar al login.

Dejo el codigo.

Código PHP:
Ver original
  1. <?php require_once('Connections/con_usuarios.php'); ?>
  2. <?php
  3. if (!function_exists("GetSQLValueString")) {
  4. function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
  5. {
  6.   if (PHP_VERSION < 6) {
  7.     $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  8.   }
  9.  
  10.   $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
  11.  
  12.   switch ($theType) {
  13.     case "text":
  14.       $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  15.       break;    
  16.     case "long":
  17.     case "int":
  18.       $theValue = ($theValue != "") ? intval($theValue) : "NULL";
  19.       break;
  20.     case "double":
  21.       $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
  22.       break;
  23.     case "date":
  24.       $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  25.       break;
  26.     case "defined":
  27.       $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
  28.       break;
  29.   }
  30.   return $theValue;
  31. }
  32. }
  33. ?>
  34. <?php
  35. // *** Validate request to login to this site.
  36. if (!isset($_SESSION)) {
  37. }
  38.  
  39. $loginFormAction = $_SERVER['PHP_SELF'];
  40. if (isset($_GET['accesscheck'])) {
  41.   $_SESSION['PrevUrl'] = $_GET['accesscheck'];
  42. }
  43.  
  44. if (isset($_POST['nombre'])) {
  45.   $loginUsername=$_POST['nombre'];
  46.   $password=$_POST['password'];
  47.   $MM_fldUserAuthorization = "control";
  48.   $MM_redirectLoginSuccess = "acceso.php";
  49.   $MM_redirectLoginFailed = "error.php";
  50.   $MM_redirecttoReferrer = false;
  51.   mysql_select_db($database_con_usuarios, $con_usuarios);
  52.    
  53.   $LoginRS__query=sprintf("SELECT nombre_user, password, control FROM usuarios WHERE nombre_user=%s AND password=%s",
  54.   GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
  55.    
  56.   $LoginRS = mysql_query($LoginRS__query, $con_usuarios) or die(mysql_error());
  57.   $loginFoundUser = mysql_num_rows($LoginRS);
  58.   if ($loginFoundUser) {
  59.    
  60.     $loginStrGroup  = mysql_result($LoginRS,0,'control');
  61.    
  62.     //declare two session variables and assign them
  63.     $_SESSION['MM_Username'] = $loginUsername;
  64.     $_SESSION['MM_UserGroup'] = $loginStrGroup;      
  65.  
  66.     if (isset($_SESSION['PrevUrl']) && false) {
  67.       $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; 
  68.     }
  69.     header("Location: " . $MM_redirectLoginSuccess );
  70.   }
  71.   else {
  72.     header("Location: ". $MM_redirectLoginFailed );
  73.   }
  74. }
  75. ?>
  76. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  77. <html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/base.dwt.php" codeOutsideHTMLIsLocked="false" -->
  78. <head>
  79. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  80. <!-- InstanceBeginEditable name="doctitle" -->
  81. <title>.::Bienvenidos::.</title>
  82. <!-- InstanceEndEditable -->
  83. <style type="text/css">
  84. <!--
  85. body {
  86.     margin-top: 0px;
  87.     background-image: url(fondo.jpg);
  88.     background-repeat: repeat-x;
  89. }
  90. -->
  91. </style>
  92. <!-- InstanceBeginEditable name="head" -->
  93. <script type="text/javascript">
  94. <!--
  95. function MM_validateForm() { //v4.0
  96.   if (document.getElementById){
  97.     var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  98.     for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
  99.       if (val) { nm=val.name; if ((val=val.value)!="") {
  100.         if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
  101.           if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
  102.         } else if (test!='R') { num = parseFloat(val);
  103.           if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
  104.           if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
  105.             min=test.substring(8,p); max=test.substring(p+1);
  106.             if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
  107.       } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  108.     } if (errors) alert('The following error(s) occurred:\n'+errors);
  109.     document.MM_returnValue = (errors == '');
  110. } }
  111. //-->
  112. </script>
  113. <!-- InstanceEndEditable -->
  114. </head>
  115.  
  116. <body>
  117.  
  118.   <tr>
  119.     <td align="center" bgcolor="#FFFFFF"><!-- InstanceBeginEditable name="contenido" -->
  120.      
  121.       <form id="form1" name="form1" method="POST" action="<?php echo $loginFormAction; ?>">
  122.        <center> <img src="imagenes/entrada1.jpg" width="700" height="200" />       </center>
  123.         <table width="80" border="1" align="center">
  124.           <tr>
  125.             <td><img src="imagenes/nm.jpg" width="96" height="31" /></td>
  126.             <td align="left"><input name="nombre" type="text" id="nombre" size="40" /></td>
  127.           </tr>
  128.           <tr>
  129.             <td><img src="imagenes/cs.jpg" width="92" height="29" /></td>
  130.             <td align="left"><input name="password" type="password" id="password" size="40" /></td>
  131.           </tr>
  132.           <tr>
  133.            
  134.             <td align="center"> <input name="button" type="submit" id="button" onclick="MM_validateForm('nombre','','R','password','','R');return document.MM_returnValue" value="Ingresar" /></td>
  135.           </tr>
  136.         </table>
  137.         <p><a href="nuevo_usuario.php"><img src="imagenes/rfs.jpg" width="233" height="57" align="right" /></a></p>
  138.     </form>
  139. <p><center><img src="imagenes/tds.jpg" width="774" height="243" /></center></p>
  140.  
  141.     <!-- InstanceEndEditable --></td>
  142.   </tr>
  143. </table>
  144. </body>
  145. <!-- InstanceEnd --></html>



DE ANTE MANO GRACIAS.
__________________

"Nuestra capacidad se aleja de la Humanidad"
  #2 (permalink)  
Antiguo 01/06/2013, 00:27
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Ayud4 con mi Acceso login

Seguramente tienes tu base de datos con un cotejamiento que incluye al final _ci AKA Case Insensitive, es decir, no aplica diferencia entre mayúsculas y minúsculas.

La solución es, relativamente, sencilla:
Código PHP:
Ver original
  1. $LoginRS__query=sprintf("SELECT nombre_user, password, control FROM usuarios WHERE nombre_user=%s AND password=%s",
  2.   GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
  3.    
  4.   $LoginRS = mysql_query($LoginRS__query, $con_usuarios) or die(mysql_error());
  5.   $loginFoundUser = mysql_num_rows($LoginRS);
  6.   if ($loginFoundUser) {
  7.     // OK, el usuario existe, hay que verificar los datos:
  8.     // Lees la consulta
  9.     $row = mysql_fetch_assoc($loginFoundUser);
  10.     // Comparas
  11.     if($row['nombre_user'] == $loginUsername || $row['password'] == $password) {
  12.            // OK, los datos son correctos
  13.            //declare two session variables and assign them
  14.            $_SESSION['MM_Username'] = $loginUsername;
  15.            /* ********************** ERROR? ********************************* */
  16.            // Este dato... de dónde salió?, en la consulta solo obtienes nombre_user y password
  17.            $_SESSION['MM_UserGroup'] = $loginStrGroup;  
  18.  
  19.            if (isset($_SESSION['PrevUrl']) && false) {
  20.              $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
  21.            }
  22.            header("Location: " . $MM_redirectLoginSuccess );
  23.          }
  24.          else {
  25.            header("Location: ". $MM_redirectLoginFailed );
  26.          }
  27.          // Como hay redirección, es necesario detener el script
  28.          exit;
  29.     }
  30.     // Los datos no son correctos por diferencia entre mayúsculas/minúsculas
  31. }
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 01/06/2013, 11:16
Avatar de nexus44  
Fecha de Ingreso: octubre-2012
Ubicación: Piura
Mensajes: 108
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Ayud4 con mi Acceso login

Hola Triby , Gracias por la respuesta estado evaluando el codigo y lo que se a agregado es esto si no me equivoco?

De alguna manera compara los campos ; queda okey pero al momento que voy a ingresar al login , no me permite ingresar me dice que los datos son incorrectos ; entonces que tendria que modificar por que veo que la comparacion estas correcta.

Código PHP:
Ver original
  1. $row = mysql_fetch_assoc($loginFoundUser);
  2.  if($row['nombre_user'] == $loginUsername || $row['password'] == $password) {
  3. }

DE ANTE MANO GRACIAS.
__________________

"Nuestra capacidad se aleja de la Humanidad"

Última edición por nexus44; 01/06/2013 a las 11:29
  #4 (permalink)  
Antiguo 01/06/2013, 22:01
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Ayuda con mi Acceso login

Y tu código actualizado?... imposible saber que pasa sin ver como quedó.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 02/06/2013, 17:12
Avatar de nexus44  
Fecha de Ingreso: octubre-2012
Ubicación: Piura
Mensajes: 108
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Ayuda con mi Acceso login

Código PHP:
Ver original
  1. <?php require_once('Connections/con_usuarios.php'); ?>
  2. <?php
  3. if (!function_exists("GetSQLValueString")) {
  4. function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
  5. {
  6.   if (PHP_VERSION < 6) {
  7.     $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  8.   }
  9.  
  10.   $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
  11.  
  12.   switch ($theType) {
  13.     case "text":
  14.       $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  15.       break;    
  16.     case "long":
  17.     case "int":
  18.       $theValue = ($theValue != "") ? intval($theValue) : "NULL";
  19.       break;
  20.     case "double":
  21.       $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
  22.       break;
  23.     case "date":
  24.       $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  25.       break;
  26.     case "defined":
  27.       $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
  28.       break;
  29.   }
  30.   return $theValue;
  31. }
  32. }
  33. ?>
  34. <?php
  35. // *** Validate request to login to this site.
  36. if (!isset($_SESSION)) {
  37. }
  38.  
  39. $loginFormAction = $_SERVER['PHP_SELF'];
  40. if (isset($_GET['accesscheck'])) {
  41.   $_SESSION['PrevUrl'] = $_GET['accesscheck'];
  42. }
  43.  
  44. if (isset($_POST['nombre'])) {
  45.   $loginUsername=$_POST['nombre'];
  46.   $password=$_POST['password'];
  47.   $MM_fldUserAuthorization = "control";
  48.   $MM_redirectLoginSuccess = "acceso.php";
  49.   $MM_redirectLoginFailed = "error.php";
  50.   $MM_redirecttoReferrer = false;
  51.   mysql_select_db($database_con_usuarios, $con_usuarios);
  52.    
  53. $LoginRS__query=sprintf("SELECT nombre_user, password, control FROM usuarios WHERE nombre_user=%s AND password=%s",
  54.   GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
  55.    
  56.   $LoginRS = mysql_query($LoginRS__query, $con_usuarios) or die(mysql_error());
  57.   $loginFoundUser = mysql_num_rows($LoginRS);
  58.   if ($loginFoundUser) {
  59.     // OK, el usuario existe, hay que verificar los datos:
  60.     // Lees la consulta
  61.     $row = mysql_fetch_assoc($loginFoundUser);
  62.     // Comparas
  63.     if($row['nombre_user'] == $loginUsername || $row['password'] == $password) {
  64.            // OK, los datos son correctos
  65.            //declare two session variables and assign them
  66.            $_SESSION['MM_Username'] = $loginUsername;
  67.            /* ********************** ERROR? ********************************* */
  68.            // Este dato... de dónde salió?, en la consulta solo obtienes nombre_user y password
  69.            $_SESSION['MM_UserGroup'] = $loginStrGroup;  
  70.  
  71.            if (isset($_SESSION['PrevUrl']) && false) {
  72.              $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
  73.            }
  74.            header("Location: " . $MM_redirectLoginSuccess );
  75.          }
  76.          else {
  77.            header("Location: ". $MM_redirectLoginFailed );
  78.          }
  79.          // Como hay redirección, es necesario detener el script
  80.          exit;
  81.     }
  82.     // Los datos no son correctos por diferencia entre mayúsculas/minúsculas
  83. }
  84.  
  85. ?>
  86. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  87. <html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/base.dwt.php" codeOutsideHTMLIsLocked="false" -->
  88. <head>
  89. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  90. <!-- InstanceBeginEditable name="doctitle" -->
  91. <title>.::Bienvenidos::.</title>
  92. <!-- InstanceEndEditable -->
  93. <style type="text/css">
  94. <!--
  95. body {
  96.     margin-top: 0px;
  97.     background-image: url(fondo.jpg);
  98.     background-repeat: repeat-x;
  99. }
  100. -->
  101. </style>
  102. <!-- InstanceBeginEditable name="head" -->
  103. <script type="text/javascript">
  104. <!--
  105. function MM_validateForm() { //v4.0
  106.   if (document.getElementById){
  107.     var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  108.     for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
  109.       if (val) { nm=val.name; if ((val=val.value)!="") {
  110.         if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
  111.           if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
  112.         } else if (test!='R') { num = parseFloat(val);
  113.           if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
  114.           if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
  115.             min=test.substring(8,p); max=test.substring(p+1);
  116.             if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
  117.       } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  118.     } if (errors) alert('The following error(s) occurred:\n'+errors);
  119.     document.MM_returnValue = (errors == '');
  120. } }
  121. //-->
  122. </script>
  123. <!-- InstanceEndEditable -->
  124. </head>
  125.  
  126. <body>
  127.  
  128.   <tr>
  129.     <td align="center" bgcolor="#FFFFFF"><!-- InstanceBeginEditable name="contenido" -->
  130.      
  131.       <form id="form1" name="form1" method="POST" action="<?php echo $loginFormAction; ?>">
  132.        <center> <img src="imagenes/entrada1.jpg" width="700" height="200" />       </center>
  133.         <table width="80" border="1" align="center">
  134.           <tr>
  135.             <td><img src="imagenes/nm.jpg" width="96" height="31" /></td>
  136.             <td align="left"><input name="nombre" type="text" id="nombre" size="40" /></td>
  137.           </tr>
  138.           <tr>
  139.             <td><img src="imagenes/cs.jpg" width="92" height="29" /></td>
  140.             <td align="left"><input name="password" type="password" id="password" size="40" /></td>
  141.           </tr>
  142.           <tr>
  143.            
  144.             <td align="center"> <input name="button" type="submit" id="button" onclick="MM_validateForm('nombre','','R','password','','R');return document.MM_returnValue" value="Ingresar" /></td>
  145.           </tr>
  146.         </table>
  147.         <p><a href="nuevo_usuario.php"><img src="imagenes/rfs.jpg" width="233" height="57" align="right" /></a></p>
  148.     </form>
  149. <p><center><img src="imagenes/tds.jpg" width="774" height="243" /></center></p>
  150.  
  151.     <!-- InstanceEndEditable --></td>
  152.   </tr>
  153. </table>
  154. </body>
  155. <!-- InstanceEnd --></html>
__________________

"Nuestra capacidad se aleja de la Humanidad"
  #6 (permalink)  
Antiguo 02/06/2013, 17:13
Avatar de nexus44  
Fecha de Ingreso: octubre-2012
Ubicación: Piura
Mensajes: 108
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Ayuda con mi Acceso login

El codigo debe quedar como lo expuesto o estoy mal?
__________________

"Nuestra capacidad se aleja de la Humanidad"
  #7 (permalink)  
Antiguo 02/06/2013, 20:47
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Ayuda con mi Acceso login

Indenta correctamente el código y revísalo con un editor que te ayude a identificar aperturas y cierres de llaves:

Código PHP:
Ver original
  1. if (isset($_POST['nombre'])) {
  2.     $loginUsername=$_POST['nombre'];
  3.     $password=$_POST['password'];
  4.     $MM_fldUserAuthorization = "control";
  5.     $MM_redirectLoginSuccess = "acceso.php";
  6.     $MM_redirectLoginFailed = "error.php";
  7.     $MM_redirecttoReferrer = false;
  8.     mysql_select_db($database_con_usuarios, $con_usuarios);
  9.    
  10.     $LoginRS__query=sprintf("SELECT nombre_user, password, control FROM usuarios WHERE nombre_user=%s AND password=%s",
  11.     GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
  12.    
  13.     $LoginRS = mysql_query($LoginRS__query, $con_usuarios) or die(mysql_error());
  14.     $loginFoundUser = mysql_num_rows($LoginRS);
  15.     if ($loginFoundUser) {
  16.         // OK, el usuario existe, hay que verificar los datos:
  17.         // Lees la consulta
  18.         $row = mysql_fetch_assoc($loginFoundUser);
  19.         // Comparas
  20.         if($row['nombre_user'] == $loginUsername || $row['password'] == $password) {
  21.             // OK, los datos son correctos
  22.             //declare two session variables and assign them
  23.             $_SESSION['MM_Username'] = $loginUsername;
  24.             /* ********************** ERROR? ********************************* */
  25.             // Este dato... de dónde salió?, en la consulta solo obtienes nombre_user y password
  26.             $_SESSION['MM_UserGroup'] = $loginStrGroup;  
  27.             if (isset($_SESSION['PrevUrl']) && false) {
  28.                 $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
  29.             }
  30.             header("Location: " . $MM_redirectLoginSuccess );
  31.         }
  32.         else {
  33.             header("Location: ". $MM_redirectLoginFailed );
  34.         }
  35.         // Como hay redirección, es necesario detener el script
  36.         exit;
  37.     }
  38.     // Los datos no son correctos por diferencia entre mayúsculas/minúsculas
  39. }

Notas dónde está el error?
__________________
- León, Guanajuato
- GV-Foto
  #8 (permalink)  
Antiguo 02/06/2013, 21:23
Avatar de nexus44  
Fecha de Ingreso: octubre-2012
Ubicación: Piura
Mensajes: 108
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Ayuda con mi Acceso login

Amigo Triby ; Acabo de estar observada detenidamiente y no encuentro el error veo que las llaves estan correctamente ordenadas en forma aparente.
__________________

"Nuestra capacidad se aleja de la Humanidad"
  #9 (permalink)  
Antiguo 02/06/2013, 22:31
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Ayuda con mi Acceso login

Si pones datos incorrectos, seguramente habrá una página en blanco, por eso creo que hay algún error de lógica.

En fin, la mejor manera de saber que está pasando es imprimir los datos para buscar el error, ejemplo:

Código PHP:
Ver original
  1. if(/* comparacion para saber si mayúsculas y minúsculas están bien */) {
  2.       // Aquí haces el ingreso del usuario
  3. } else {
  4.     // Los paréntesis son para ver si no hay algún caracter extra
  5.     echo <<<EOT
  6. Usuario tecleado: ($loginUserName)
  7. Usuario en tabla: ({$row['nombre_user']})
  8. Password tecleado: ($password)
  9. Password en tabla: ({$row['password']})
  10. EOT;
  11.         // Finalizas el script
  12.         die('Error de acceso');
  13. }

Cuando arregles el problema, eliminas el echo y die().
__________________
- León, Guanajuato
- GV-Foto
  #10 (permalink)  
Antiguo 02/06/2013, 23:37
Avatar de nexus44  
Fecha de Ingreso: octubre-2012
Ubicación: Piura
Mensajes: 108
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Ayuda con mi Acceso login

Amigo Triby ; Analizando el problema no se si realmente estoy en lo correcto ; pero si nos damos cuenta , en la linea 33 : $MM_redirectLoginFailed =error.php ; que definitivamente es cuando los datos estan incorrectos o no? ; es por que no esta comprando con la base de datos. Ahora no se que podria decirme al respecto.

Código PHP:
Ver original
  1. if (isset($_POST['nombre'])) {
  2.     $loginUsername=$_POST['nombre'];
  3.     $password=$_POST['password'];
  4.     $MM_fldUserAuthorization = "control";
  5.     $MM_redirectLoginSuccess = "acceso.php";
  6.     $MM_redirectLoginFailed = "error.php";
  7.     $MM_redirecttoReferrer = false;
  8.     mysql_select_db($database_con_usuarios, $con_usuarios);
  9.    
  10.     $LoginRS__query=sprintf("SELECT nombre_user, password, control FROM usuarios WHERE nombre_user=%s AND password=%s",
  11.     GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
  12.    
  13.     $LoginRS = mysql_query($LoginRS__query, $con_usuarios) or die(mysql_error());
  14.     $loginFoundUser = mysql_num_rows($LoginRS);
  15.     if ($loginFoundUser) {
  16.         // OK, el usuario existe, hay que verificar los datos:
  17.         // Lees la consulta
  18.         $row = mysql_fetch_assoc($loginFoundUser);
  19.         // Comparas
  20.         if($row['nombre_user'] == $loginUsername || $row['password'] == $password) {
  21.             // OK, los datos son correctos
  22.             //declare two session variables and assign them
  23.             $_SESSION['MM_Username'] = $loginUsername;
  24.             /* ********************** ERROR? ********************************* */
  25.             // Este dato... de dónde salió?, en la consulta solo obtienes nombre_user y password
  26.             $_SESSION['MM_UserGroup'] = $loginStrGroup;  
  27.             if (isset($_SESSION['PrevUrl']) && false) {
  28.                 $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
  29.             }
  30.             header("Location: " . $MM_redirectLoginSuccess );
  31.         }
  32.         else {
  33.             header("Location: ". $MM_redirectLoginFailed );
  34.         }
  35.         // Como hay redirección, es necesario detener el script
  36.         exit;
  37.     }
  38.     // Los datos no son correctos por diferencia entre mayúsculas/minúsculas
  39. }
__________________

"Nuestra capacidad se aleja de la Humanidad"
  #11 (permalink)  
Antiguo 03/06/2013, 00:39
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Ayuda con mi Acceso login

Cita:
Iniciado por nexus44
en la linea 33 : $MM_redirectLoginFailed =error.php ; que definitivamente es cuando los datos estan incorrectos o no? ; es por que no esta comprando con la base de datos. Ahora no se que podria decirme al respecto.
No te dirá "ni pío" si no imprimes los datos que estás comparando... más o menos como te sugerí en el mensaje anterior.
__________________
- León, Guanajuato
- GV-Foto
  #12 (permalink)  
Antiguo 03/06/2013, 11:09
Avatar de nexus44  
Fecha de Ingreso: octubre-2012
Ubicación: Piura
Mensajes: 108
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Ayuda con mi Acceso login

Triby ; La verdad no sabria como colocar este codigo y me imprima el error ; disculpa la ignorancia mia.

Código PHP:
Ver original
  1. if(/* comparacion para saber si mayúsculas y minúsculas están bien */) {
  2.       // Aquí haces el ingreso del usuario
  3. } else {
  4.     // Los paréntesis son para ver si no hay algún caracter extra
  5.     echo <<<EOT
  6. Usuario tecleado: ($loginUserName)
  7. Usuario en tabla: ({$row['nombre_user']})
  8. Password tecleado: ($password)
  9. Password en tabla: ({$row['password']})
  10. EOT;
  11.         // Finalizas el script
  12.         die('Error de acceso');
  13. }


Por lo visto me doy cuenta que compara la tabla con lo escrito pero como lo asigno con mi codigo; no sabria como hacerlo .
__________________

"Nuestra capacidad se aleja de la Humanidad"
  #13 (permalink)  
Antiguo 03/06/2013, 17:42
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Ayuda con mi Acceso login

La parte del else sería para reemplazar temporalmente esta línea:

header("Location: ". $MM_redirectLoginFailed );
__________________
- León, Guanajuato
- GV-Foto
  #14 (permalink)  
Antiguo 04/06/2013, 11:10
Avatar de nexus44  
Fecha de Ingreso: octubre-2012
Ubicación: Piura
Mensajes: 108
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Ayuda con mi Acceso login

Si bueno en todo caso; la reemplaza temporalmente basicamente hasta el momento no eh podido solucionar el problema he pedido opiniones a otras personas y me comentan que debo restructurar nuevamente el codigo ; Pero lo que quisiera es como hacerlo en el mismo .
Código PHP:
Ver original
  1. $_SESSION['MM_Username'] = $loginUsername;
  2.             /* ********************** ERROR? ********************************* */
  3.             // Este dato... de dónde salió?, en la consulta solo obtienes nombre_user y password
  4.             $_SESSION['MM_UserGroup'] = $loginStrGroup;  
  5.             if (isset($_SESSION['PrevUrl']) && false) {
  6.                 $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
  7.             }
  8.             header("Location: " . $MM_redirectLoginSuccess );
  9.         }
  10.         {
  11.             header("Location: ". $MM_redirectLoginFailed );
  12.         }
  13.         // Como hay redirección, es necesario detener el script
  14.         exit;
  15.     }


siento que el problema comienza desde hay por que solamente esta cojiendo a uno . que es el que muestra los datos incorrectos más no el que nos permine mostrar la pag principal .
__________________

"Nuestra capacidad se aleja de la Humanidad"
  #15 (permalink)  
Antiguo 04/06/2013, 16:14
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Ayuda con mi Acceso login

Insisto, si no imprimes los valores ingresados por el usuario y lo que encuentras en la base de datos será difícil determinar la causa.
__________________
- León, Guanajuato
- GV-Foto
  #16 (permalink)  
Antiguo 04/06/2013, 17:47
Avatar de nexus44  
Fecha de Ingreso: octubre-2012
Ubicación: Piura
Mensajes: 108
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Ayuda con mi Acceso login

Triby sinceramente no ; comprendo lo que me quieres redir no digo tampoco que me hagas todo si no enrealidad me des la forma de imprmir los valores como me dices para saber la causa no? por que realmente no se hacerlo .

me presentate este codigo pero no se como acomodarlo con lo que me estas pidiendo.

Código PHP:
Ver original
  1. if(/* comparacion para saber si mayúsculas y minúsculas están bien */) {
  2.           // Aquí haces el ingreso del usuario
  3.     } else {
  4.         // Los paréntesis son para ver si no hay algún caracter extra
  5.         echo <<<EOT
  6.     Usuario tecleado: ($loginUserName)
  7.     Usuario en tabla: ({$row['nombre_user']})
  8.     Password tecleado: ($password)
  9.     Password en tabla: ({$row['password']})
  10.     EOT;
  11.             // Finalizas el script
  12.             die('Error de acceso');
  13.     }
__________________

"Nuestra capacidad se aleja de la Humanidad"
  #17 (permalink)  
Antiguo 06/06/2013, 20:38
Avatar de nexus44  
Fecha de Ingreso: octubre-2012
Ubicación: Piura
Mensajes: 108
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Ayuda con mi Acceso login

GRACIAS TRIBY por la ayuda durante toda la sesion ; luego de más de 1 semana logre solucionar el problema ; estare subiendo el codigo.
__________________

"Nuestra capacidad se aleja de la Humanidad"
  #18 (permalink)  
Antiguo 07/06/2013, 12:58
Avatar de nexus44  
Fecha de Ingreso: octubre-2012
Ubicación: Piura
Mensajes: 108
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Ayuda con mi Acceso login

Codigo solucionado ; con un for comprando y imprimiendo los datos como tanto lo decia triby.

Código PHP:
Ver original
  1. <?php
  2. // *** Validate request to login to this site.
  3. if (!isset($_SESSION)) {
  4. }
  5.  
  6. $loginFormAction = $_SERVER['PHP_SELF'];
  7. if (isset($_GET['accesscheck'])) {
  8.   $_SESSION['PrevUrl'] = $_GET['accesscheck'];
  9. }
  10.  
  11. if (isset($_POST['nombre'])) {
  12.   $loginUsername=$_POST['nombre'];
  13.   $password=$_POST['password'];
  14.   $MM_fldUserAuthorization = "control";
  15.   $MM_redirectLoginSuccess = "acceso.php";
  16.   $MM_redirectLoginFailed = "error.php";
  17.   $MM_redirecttoReferrer = false;
  18.   mysql_select_db($database_con_usuarios, $con_usuarios);
  19.    
  20.   $LoginRS__query=sprintf("SELECT nombre_user, password, control FROM usuarios WHERE nombre_user=%s AND password=%s",
  21.   GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
  22.    
  23.   $LoginRS = mysql_query($LoginRS__query, $con_usuarios) or die(mysql_error());
  24.   $loginFoundUser = mysql_num_rows($LoginRS);
  25.   $nom=mysql_fetch_array($LoginRS);
  26.   if ($loginFoundUser) {
  27.    
  28.     $loginStrGroup  = mysql_result($LoginRS,0,'control');
  29.        
  30.        
  31.         //echo $nom['nombre_user']."-".$nom['password'];
  32.        
  33.    
  34.     //declare two session variables and assign them
  35.     $_SESSION['MM_Username'] = $loginUsername;
  36.     $_SESSION['MM_UserGroup'] = $loginStrGroup;      
  37.  
  38.  
  39. $_SESSION['MM_Username1'] = $nom["nombre_user"];
  40.     $_SESSION['MM_UserGroup1'] = $nom["password"];  
  41.     if (isset($_SESSION['PrevUrl']) && false) {
  42.       $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; 
  43.     }
  44.  
  45.     if($loginFoundUser>0)
  46.     {      
  47.         //echo $_SESSION['MM_Username1']."-".$_SESSION['MM_UserGroup1'];
  48.         $lon=strlen($_SESSION['MM_Username1']);
  49.         $cad=$_SESSION['MM_Username'];
  50.         $sw=0;
  51.         for($x=0;$x<$lon;$x++)
  52.         {
  53.             //echo "<br>valor ==> $x:".$sw;
  54.             $car=substr($_SESSION['MM_Username1'],$x,1);                       
  55.             for($y=0;$y<strlen(trim($cad));$y++)
  56.             {
  57.                
  58.                 if($car==substr($cad,$y,1))
  59.                 {
  60.                     //echo "<br>car ==> $car:".substr($cad,$y,1);              
  61.                     $sw=1;
  62.                     break;
  63.                 }
  64.                 else
  65.                 {
  66.                     $sw=0;
  67.                 }
  68.                
  69.                
  70.             }
  71.             //echo "<br>valor ==> $x:".$sw;
  72.             if($sw==0)
  73.                 break;
  74.             echo "<br>valor ==> $x:".$sw;  
  75.         }
  76.         //echo "<br>valor ==>:".$sw;   
  77.         if($sw==1)
  78.         header("Location: " . $MM_redirectLoginSuccess );
  79.     else
  80.         header("Location: ". $MM_redirectLoginFailed );
  81.     }
  82.    
  83.    
  84.     //header("Location: " . $MM_redirectLoginSuccess );
  85.   }
  86.   else {
  87.     header("Location: ". $MM_redirectLoginFailed );
  88.   }
  89. }
  90.  
  91. ?>
__________________

"Nuestra capacidad se aleja de la Humanidad"
  #19 (permalink)  
Antiguo 07/06/2013, 13:44
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Ayuda con mi Acceso login

Hola,

Como indicó Triby, el problema era comparación de CS vs CI; otra forma de hacerlo hubiera sido que cambiaras el 'collate' solamente en la consulta,

$LoginRS__query=sprintf("SELECT nombre_user, password, control FROM usuarios WHERE nombre_user=%s AND password collate latin1_general_cs =%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));

Saludos,

Etiquetas: html, login, mysql, registro, select, 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 19:26.