22/06/2010, 11:04
|
| | | Fecha de Ingreso: abril-2010
Mensajes: 117
Antigüedad: 14 años, 9 meses Puntos: 4 | |
Respuesta: problema con sesiones Cita:
Iniciado por gilber966 me funciona la validacion por tiempo pero no me imprime es id de la sesion
a ver este inicia la sesion verificar.php: <?php
include("conexion.php");
$usuario=$_POST["usu"];
$clave=$_POST["pas"];
$rst_usuarios=mysql_query("SELECT * FROM usuarios WHERE cedula='". $_POST["usu"]."' and clave='". $_POST["pas"]."';",$conexion);
$num_registros=mysql_num_rows($rst_usuarios);
if ($num_registros>0){
//dar nombre a session
//iniciar session
session_start();
// session_register($usuario,$clave);
$_SESSION["autentificado"]= "SI";
//ultimo acceso
$_SESSION["inicio"]= date("Y-n-j H:i:s");
$_SESSION["usuario"]= $_POST["usu"];;
header("location:menu.php");
}
else{
echo "El Usuario o La Clave No Son Validos";
mysql_close($conexion);
}
?>
luego me envia a este que si funciona, menu.php: <?php
//iniciamos la sesión
session_start();
//antes de hacer los cálculos, compruebo que el usuario está logueado
//utilizamos el mismo script que antes
if ($_SESSION["autentificado"] != "SI") {
//si no está logueado lo envío a la página de autentificación
header("Location: index.html");
} else {
//sino, calculamos el tiempo transcurrido
$fechaGuardada = $_SESSION["inicio"];
$ahora = date("Y-n-j H:i:s");
$tiempoTotal = (strtotime($ahora)-strtotime($fechaGuardada));
//comparamos el tiempo transcurrido
if($tiempoTotal >= 10) {
//si pasaron 10 minutos o más
session_destroy(); // destruyo la sesión
header("Location: index.html"); //envío al usuario a la pag. de autenticación
//sino, actualizo la fecha de la sesión
}else {
$fechaGuardada = $ahora;
}
}
echo "$ahora <br>";
echo "$tiempoTotal";
echo $_PHPSESSID;
?>
<html>
pero a ese no me debe enviar, me debe anviar a esta: pero me da error: (esta pag. contiene framesets no se si tendra que ver) plantillapri.php
<?php
session_start();
if ($_SESSION["autentificado"] != "SI") {
//si no está logueado lo envío a la página de autentificación
header("Location: index.html");
} else {
//sino, calculamos el tiempo transcurrido
$fechaGuardada = $_SESSION["inicio"];
$ahora = date("Y-n-j H:i:s");
$tiempoTotal = (strtotime($ahora)-strtotime($fechaGuardada));
//comparamos el tiempo transcurrido
if($tiempoTotal >= 10) {
//si pasaron 10 minutos o más
session_destroy(); // destruyo la sesión
header("Location: index.html"); //envío al usuario a la pag. de autenticación
//sino, actualizo la fecha de la sesión
}else {
$fechaGuardada = $ahora;
}
}
echo $_PHPSESSID;
?>
el error que me da en este y que no me da en menu.php es:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampplite\htdocs\PROYECTO SisBod Gilber\plantillapri.php:1) in C:\xampplite\htdocs\PROYECTO SisBod Gilber\ plantillapri.php on line 2 ok ya lo corregi gracias |