Foros del Web » Programando para Internet » PHP »

¿Como hago para mantener una sesion iniciada?

Estas en el tema de ¿Como hago para mantener una sesion iniciada? en el foro de PHP en Foros del Web. Estoy diseñando una pagina donde puse que para solicitar servicios se deba ingresar con su cuenta y tambien tengo otra opcion que es para ingresar ...
  #1 (permalink)  
Antiguo 16/12/2013, 14:39
 
Fecha de Ingreso: diciembre-2013
Mensajes: 5
Antigüedad: 10 años, 4 meses
Puntos: 0
¿Como hago para mantener una sesion iniciada?

Estoy diseñando una pagina donde puse que para solicitar servicios se deba ingresar con su cuenta y tambien tengo otra opcion que es para ingresar cuando uno quiera pero aunque haga esto igual cuando voy a la de servicios vuelve a pedirme que ingrese y quiero hacer que si se ingresa directamente ya luego si quiero solicitar no tenga que volver a ingresar la cuenta pero no se como ya que soy novato en esto
  #2 (permalink)  
Antiguo 16/12/2013, 14:42
Avatar de temaqueja  
Fecha de Ingreso: agosto-2002
Ubicación: /dev/null/
Mensajes: 399
Antigüedad: 21 años, 8 meses
Puntos: 4
Respuesta: ¿Como hago para mantener una sesion iniciada?

Así como -creo- ya estas manejando el tema de sesiones, ahora te toca revisar el tema de "cookies" (es muy similar) con la diferencia que la información se queda guardada en la PC del visitante.

http://es.php.net/cookies
__________________
_________________________
La computadora nació para resolver problemas que antes no existían
  #3 (permalink)  
Antiguo 16/12/2013, 16:48
Avatar de cell001  
Fecha de Ingreso: abril-2010
Mensajes: 40
Antigüedad: 14 años
Puntos: 5
Respuesta: ¿Como hago para mantener una sesion iniciada?

podrias hacer algo asi:

Tu pagina de inicio de sesión. Si los datos de usuario y contraseña son correctos (al comparar con BD) entonces iniciar seccion y guardar en una variable de sesión algo como conectar = si. y después en cada pagina que deba entrar con sesión iniciada tener la comprobación. Si no esta logeado sacarlo.

En código sería algo asi:

Inicio de sesión
Código PHP:
//Tu compruebas que los datos de usuario u pass sea correctos.
if($usuario == $usuarioBD and $pass == $passBD){
session_start(); // muy importante esto, siempre poner al inicio
$_SESSION['conectar']="si";
}
else{
header("Location: index.php"); // tu pagina de inicio de sesión

Despues en cada pagina donde solo entre si esta logeado, checar
Código PHP:
<?php
session_start
();
if(
$_SESSION['conectar'] == "si"){
// Despliegas la pagina o sección de la pagina
}
else{
unset(
$_SESSION['conectar']); 
session_destroy();
header("Location: index.php"); // tu pagina de inicio de sesión o donde lo mandes si lo quieres sacar y decirle que se conecte antes
}
?>
Nota: Lo de header es opcional. Si quieres mandarlo a alguna pagina usalo, si solo quieres decirle "conectate" en vez de header con un simple echo

¡Suerte!

Etiquetas: sesión
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 15:30.