Ver Mensaje Individual
  #5 (permalink)  
Antiguo 25/12/2008, 18:28
gilitos92
 
Fecha de Ingreso: diciembre-2008
Mensajes: 70
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: Mantener a los USUARIOS

Hola samyb8.

Basicamente lo que tienes que hacer es lo siguiente:
En tu form colocar dos casillas checkbox:
Código PHP:
<form action="procesar.php" method="post">
Usuario: <input type="text" name="usuario" value="<?php echo $_COOKIE['usuario']; ?>"><br>
Pass: <input type="contrasena" name="contra"><br>
Recordar datos:<input type="checkbox" name="recordarDatos"><br>
Recordar sesion: <input type="checkbox" name="recordarSesion"><br>
<input name="login" type="hidden" value="1">
<input type="submit" value="Enviar">
Despues de hacer esto, tienes que crear una clase en la pagina procesar.php para que al dar clic en enviar, (por medio del campo hidden login), el constructor que se ejecuta cada vez que se llama la clase por medio del objeto, detecte si el usuario esta loggeado o no y al mismo tiempo llene las variables de sesion y cookies, es un poco largo y complicado asi que te dejo los fundamentos de la clase, el objeto, el constructor y la funcion login.
Código PHP:
<?php
/*Creamos la clase*/
class Proceso
{
/*Creamos el constructor*/
function Proceso(){
if(isset(
$_POST['login'])){
$this->logg();
}

$this->loggeado $this->checarLog();
//Termina la funcion
}
/*Creamos la funcion que se va a encargar de decir si estan seteadas las checkbox para setear cookies y retornar true si el usuario esta loggeado todavia y false si no lo esta*/
function checarLog(){
//REvisamos si la variable de sesion de loggeado esta seteada
if(isset($_SESSION['esta_loggeado'])){
return 
true;
}
elseif(isset(
$_COOKIE['recordarSesion'])){
return 
true;
}
else{
return 
false;
}
//Termina la funcion
}

/*Creamos la funcion de donde vamos a setear si los datos del usuario son correctos para loggearlo*/
function logg(){
if(
/*Aqui realiza toda la comprobacion necesaria entre la base de datos y los posts*/){
$_SESSION['esta_loggeado'] = true;
/*Si el usuario decidio recordar sesion o datos seteamos la cookie*/
if(isset($_POST['recordarDatos'])){
setcookie("usuario",$_POST['usuario']);
}
if(isset(
$_POST['recordarSesion'])){
setcookie("recordarSesion",true);
}
}
else{
$_SESSION['esta_loggeado'] = false;
}
//Termina la funcion
}
//Termina la clase
}

/*Creamos el objeto*/
$procesar = new Proceso;
Disculpa si esta algo mal en el script pero fue un rapidin.
Saludos