Foros del Web » Programando para Internet » PHP »

Problema con login session_start

Estas en el tema de Problema con login session_start en el foro de PHP en Foros del Web. Buenos Días estoy haciendo un login de usuario y contrseña con encriptacion de contraseña, tome de ejemplo uno que encontre en la web, pero el ...
  #1 (permalink)  
Antiguo 18/09/2014, 09:52
 
Fecha de Ingreso: julio-2014
Mensajes: 2
Antigüedad: 9 años, 9 meses
Puntos: 0
Exclamación Problema con login session_start

Buenos Días

estoy haciendo un login de usuario y contrseña con encriptacion de contraseña, tome de ejemplo uno que encontre en la web, pero el problema es que no entra al primer intento asi los datos sean correctos el usuario debe registrar sus datos 2 veces para que pueda accesar a la pagina le dejo los codigos de antemano graciasssssssss


Valida Los usuarios:

Código PHP:
Ver original
  1. <?php
  2.     //conectar BD
  3.     include("conectar_bd.php");  
  4.     conectar_bd();
  5.    
  6.     $usr = $_POST['usuario'];
  7.     $pw = $_POST['password'];
  8.     //Obtengo la version encriptada del password
  9.     $pw_enc = md5($pw);
  10.    
  11.     $sql = "SELECT id_usuario FROM tbl_users
  12.             INNER JOIN ctg_tiposusuario
  13.             ON tbl_users.id_TipoUsuario = ctg_tiposusuario.id_TipoUsuario
  14.             WHERE tx_username = '".$usr."'
  15.             AND tx_password = '".$pw_enc."' "; 
  16.     $result     =mysql_query($sql,$conexio);
  17.  
  18.     $uid = "";
  19.    
  20.     //Si existe al menos una fila
  21.     if( $fila = mysql_fetch_array($result) )
  22.     {      
  23.         //Obtener el Id del usuario en la BD       
  24.         $uid = $fila['id_usuario'];
  25.         //Iniciar una sesion de PHP
  26.         @session_start();
  27.         //Crear una variable para indicar que se ha autenticado
  28.         $_SESSION['autenticado']    = 'SI';
  29.         //Crear una variable para guardar el ID del usuario para tenerlo siempre disponible
  30.         $_SESSION['uid']   = $uid;
  31.         //CODIGO DE SESION
  32.        
  33.         //Crear un formulario para redireccionar al usuario y enviar oculto su Id
  34. ?>
  35.         <form name="formulario" method="post" action="Sise/administracion.php">
  36.             <input type="hidden" name="idUsr" value='<?php echo $uid ?>' />
  37.         </form>
  38. <?php
  39.     }
  40.     else {
  41.         //En caso de que no exista una fila...
  42.         //..Crear un formulario para redireccionar al usuario a la pagina de login
  43.         //enviandole un codigo de error
  44. ?>
  45.         <form name="formulario" method="post" action="index.php">
  46.             <input type="hidden" name="msg_error" value="1">
  47.         </form>
  48. <?php
  49.     }
  50. ?>
  51.                    
  52. <script type="text/javascript">
  53.     //Redireccionar con el formulario creado
  54.     document.formulario.submit();
  55. </script>

session_star que va en cada pagina:

Código PHP:
Ver original
  1. <?php
  2.     //conectar BD
  3.     include("conectar_bd.php");  
  4.     conectar_bd();
  5.    
  6.     $usr = $_POST['usuario'];
  7.     $pw = $_POST['password'];
  8.     //Obtengo la version encriptada del password
  9.     $pw_enc = md5($pw);
  10.    
  11.     $sql = "SELECT id_usuario FROM tbl_users
  12.             INNER JOIN ctg_tiposusuario
  13.             ON tbl_users.id_TipoUsuario = ctg_tiposusuario.id_TipoUsuario
  14.             WHERE tx_username = '".$usr."'
  15.             AND tx_password = '".$pw_enc."' "; 
  16.     $result     =mysql_query($sql,$conexio);
  17.  
  18.     $uid = "";
  19.    
  20.     //Si existe al menos una fila
  21.     if( $fila = mysql_fetch_array($result) )
  22.     {      
  23.         //Obtener el Id del usuario en la BD       
  24.         $uid = $fila['id_usuario'];
  25.         //Iniciar una sesion de PHP
  26.         @session_start();
  27.         //Crear una variable para indicar que se ha autenticado
  28.         $_SESSION['autenticado']    = 'SI';
  29.         //Crear una variable para guardar el ID del usuario para tenerlo siempre disponible
  30.         $_SESSION['uid']   = $uid;
  31.         //CODIGO DE SESION
  32.        
  33.         //Crear un formulario para redireccionar al usuario y enviar oculto su Id
  34. ?>
  35.         <form name="formulario" method="post" action="Sise/administracion.php">
  36.             <input type="hidden" name="idUsr" value='<?php echo $uid ?>' />
  37.         </form>
  38. <?php
  39.     }
  40.     else {
  41.         //En caso de que no exista una fila...
  42.         //..Crear un formulario para redireccionar al usuario a la pagina de login
  43.         //enviandole un codigo de error
  44. ?>
  45.         <form name="formulario" method="post" action="index.php">
  46.             <input type="hidden" name="msg_error" value="1">
  47.         </form>
  48. <?php
  49.     }
  50. ?>
  51.                    
  52. <script type="text/javascript">
  53.     //Redireccionar con el formulario creado
  54.     document.formulario.submit();
  55. </script>

Muchas Graciassssssss

Última edición por Triby; 18/09/2014 a las 18:44 Razón: Código en highlight
  #2 (permalink)  
Antiguo 18/09/2014, 18:46
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: Problema con login session_start

Coloca session_start() al inicio del script, lo usarás siempre para identificar la conexión entre navegador y Php, independientemente de que se trate de un usuario registrado o un invitado.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: formulario, login, mysql, select, sql, usuarios, variable
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 09:31.