Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/04/2015, 06:25
mensajeescrito
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 5
Dejar sesion abierta despues de hacer login mediante checkbox

Hola amigos/as, miren mi intencion es en el codigo que tengo para hacer login un usuario.

Me gustaria añadirle una opcion para dejar la sesion abierta mediante un checkox.

Loguear lo hacer bien.

Pero el dejar la sesion abierta es algo que nunca lo he hecho y la verdad no se por donde empezar a implementarle lo que supongo son pocas lineas de codigo para ello.


Ando un poco perdido.

He estado navegando por internet y finalmente he encontrado un codigo que deja la sesion abierta.

Pero no se como implementarlo en mi codigo.

Si pudieran ayudarme les estaria muy agradecido por ello.


Miren este es mi codigo:


Código PHP:
Ver original
  1.  
  2.     include("../conex_bbdd/conexion.php");     
  3.  
  4.            
  5.     class ClaseLoginUsuario
  6.    
  7.         {  
  8.  
  9.             public function LoginUsuario($email, $password)
  10.            
  11.                 {  
  12.                     //CONECTAMOS A LA BBDD............................................................................ 
  13.                     $con = new Conectar();             
  14.                     $link=$con->ConectarBbdd();
  15.                      
  16.  
  17.                     $query = "SELECT * FROM usuarios
  18.                     WHERE email='".strip_tags($email)."' AND password='".strip_tags($password)."';";
  19.  
  20.  
  21.  
  22.                       if ($resultado=mysqli_query($link, $query) or die ('No se inserta en BBDD' . mysqli_error($link)))
  23.                            
  24.                             {
  25.                          
  26.                                 if($reg=mysqli_num_rows($resultado) == 0)
  27.                                
  28.                                     {
  29.                                         header("Location:../index.php?tipo_error_login=no_existe_usuario");    
  30.                                     }
  31.                                
  32.                                     else
  33.                            
  34.                                 //SI ENCUENTRA EL USUARIO MUESTRA SU NICK............................................
  35.                                              
  36.                                 if($reg=mysqli_fetch_array($resultado))
  37.                                
  38.                                     {  
  39.                                         $_SESSION['nick'] = $reg['nick'];  
  40.                                         header("Location:../opcs/opc_logueado/logueado.php");      
  41.                                     }
  42.                  
  43.                       }
  44.        
  45.    
  46.                 } //fin de function Sesion
  47.                
  48.                
  49.  
  50.             //MÉTODO PARA CERRAR SESIÓN.............................................................................
  51.                
  52.             public function CerrarSesion()             
  53.  
  54.                 {              
  55.                     session_destroy();
  56.                    
  57.                     header("Location:../../index.php");
  58.  
  59.                 } //fin de function CerrarSesion               
  60.            
  61.                
  62.            
  63.         } //fin de class LoginUsuario
  64.        
  65.        
  66.        
  67.  
  68. //SI EXISTEN LOS DATOS DE LOGIN LOS PROCESAMOS PARA VER SI SON VALIDOS..............................................
  69.  
  70.         $loginUsuario = new ClaseLoginUsuario();           
  71.  
  72.            
  73.             if ($_POST)
  74.            
  75.                 {
  76.                     $email = $_POST['email'];
  77.                     $password = $_POST['password'];
  78.                    
  79.                     $loginUsuario->LoginUsuario($email, $password);            
  80.                 }


Y el codigo que he encontrado para dejar la sesion abierta y no se como implementarlo es este:

Código PHP:
Ver original
  1. if($_POST['alargar_session'] == true) {
  2.        
  3.         $_SESSION['login'] = $usuario_log;
  4.         setcookie("PHPSESSID", $_COOKIE[session_name()], time()+31622400);
  5.    
  6.     } else {
  7.        
  8.         $_SESSION['login'] = $usuario_log;
  9.         setcookie("PHPSESSID", $_COOKIE[session_name()]);
  10.     }


Y mi formulario esta asi:

Código HTML:
Ver original
  1. <form name="form" action="clases/clase_login.php" method="post">
  2.  
  3.                 Nombre de usuario<input type="email" name="email"
  4.                value="<?php if(isset($imprimir['email'])){echo $imprimir['email'];} else { echo '';}?>" />
  5.                
  6.                 </br></br>
  7.                
  8.                 Password<input type="text" name="password"
  9.                value="<?php if(isset($imprimir['password'])){echo $imprimir['password'];} else { echo '';}?>" />
  10.  
  11.                 </br></br>
  12.                
  13.                 <input type="checkbox" name="sesion_abierta" value="sesion_abierta">Sesión abierta
  14.  
  15.                 </br></br>
  16.                
  17.                 <input type="submit" value="Entrar">
  18.              
  19.         </form>



gracias de antemano.