Ver Mensaje Individual
  #10 (permalink)  
Antiguo 22/06/2010, 11:04
Avatar de gilber966
gilber966
 
Fecha de Ingreso: abril-2010
Mensajes: 117
Antigüedad: 14 años
Puntos: 4
De acuerdo Respuesta: problema con sesiones

Cita:
Iniciado por gilber966 Ver Mensaje
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