Nico: Sessionvariablen werden gelöscht

Beitrag lesen

Hallo!

Ich habe aus dem SelfHTML-ForumsArchiv ein Script nach meinen Bedürfnissen angepasst und das ist dabei rausgekommen:

<?php
session_start();
$cfile = "count.txt";
$fh = fopen($cfile,'a');
fclose($fh);

$fh = fopen($cfile, 'rb+');
$count = intval(fgets($fh, 1024));
echo $_SESSION['lastvisit']."<br>";
if (time()-$_SESSION['lastvisit']>7200 OR $_SESSION['lastvisit']=""){
$_SESSION['lastvisit']=time();
$count++;
}
$_SESSION['lastvisit']=$_SESSION['lastvisit'];
fseek($fh, 0, SEEK_SET);
fputs($fh, $count);
fclose($fh);
echo $count;

phpinfo();
?>

Das soll also ein Besucherzähler werden. Die Session benutze ich um einen Besucher, der 10 mal die Seite aktualisiert nicht zehn mal mitgezählt wird.
Beim erstmaligen Ausführen des Scripts wird auch ordnungsgemäß der Zähler erhöht. Beim zweiten nicht. So weit, so gut.
Aber beim dritten Mal wird der Zähler erhöht, obwohl die Zeitspanne die 2 Stunden nicht überschreitet. Die angezeigte Sessionvariable 'lastvisit' ist dann auch plötzlich "".
Ich denke mir also, dass entweder die ganze Session bzw. der Cookie oder blos die eine Variable gelöscht wurde (Ersteres halte ich aber für wahrscheinlicher).
In der phpinfo() steht auch session.cookie_lifetime=0. Könnte das evt. etwas mit meinem Problem zu tun haben?
Das Problem ist übrigens, dass der Zähler beim mehrmaligen Ausführen des Scripts hintereinander alle zwei Male erhöht wird. Also beim dritten, fünten, siebten... Mal.
Ich hoffe, mir kann jemand helfen.

Nico