PHP - Sesiones

 
Vista:

Sesiones

Publicado por MIX (4 intervenciones) el 05/10/2005 17:22:58
Hola estaba haciéndome un contador de visitas con sesiones. Funciona de la siguiente manera: inicio sesión, si existe el fichero que contiene el contador lo abre y lo lee y si es la primera vez que entra le pregunto si existe una variable de sesión, si no existe en ese caso me incrementa el contador y me creo una variable de sesión, en el caso de que exista directamente no incrementa nada y me muestra el contador. Mi pregunta es, cómo puedo hacer para que dure la sesión X tiempo?? Otra cosa, es que si se cierra el navegador que se eliminen las variables de sesión pq me las sigue guardando por algún lado, entonces si cierro el navegador y vuelvo a abrirlo otra vez, sigo teniendo la variable de sesión creada antes y nunca se me incrementa el contador. Quiero que al cerrar el navegador y al abrir la página no haya variables guardadas y me incremente, mientras esté en la sesión no incrementa pero una vez que ha expirado el tiempo o se ha cerrado el navegador que ya no haya ninguna variable. El código que he hecho es el siguiente:
<?php
session_start();

$GLOBALS["TSFE"]->set_no_cache(); //No guarda caché en Typo3

$sArchivo="fileadmin/templates/main/HarvestersTypo3/contador/contadorIP.dat"; //archivo con el contador

// Comprobamos si existe el archivo del contador
if (file_exists($sArchivo)) {
// echo "existe el archivo";
// En caso afirmativo lo abrimos para lectura y escritura
$hArchivo=fopen($sArchivo,'r+');
// y recuperamos su contenido
$nVisitas=fgets($hArchivo,10);
if (!isset($_SESSION['cont'])) {
//Incrementando
$nVisitas++; // incrementamos el contador
rewind($hArchivo); // llevamos el puntero de lectura al inicio
fwrite($hArchivo, $nVisitas); // y escribimos el nuevo valor
$_SESSION['cont']="harvesters";
} else { //echo "<br>no incremento pq existe sesión";}
} else {
// lo creamos
$hArchivo=fopen($sArchivo,'w+');
$nVisitas=1; // establecemos el valor inicial
fwrite($hArchivo, $nVisitas); // y lo escribimos
}
fclose ($hArchivo); // cerramos el archivo

//Meto en un array el número de visitas
$longitud=strlen($nVisitas);
for ($i=0;$i<$longitud;$i++)
{
$n=substr($nVisitas,$i,1);
$arr_visitas[]=$n;
}

//Muestro el contador con imágenes
for ($i=0;$i<$longitud;$i++)
{
$content="$content<img alt='".$arr_visitas[$i]."' src='fileadmin/templates/main/HarvestersTypo3/contador/digital-blue/".$arr_visitas[$i].".gif'>";
}
return $content;
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder