freeman4gu: Sessions kommen und gehen wie sie wollen

Beitrag lesen

Hallo zusammen,

ich habe da ein Problem, ich hoffe ich poste hier richtig. Also ich habe eine Website mit Sessions erstellt. Komischerweise macht diese seit einiger Zeit einige Probleme. Und zwar, je nach Lust und Laune bricht die Session ab, nach einen bis mehreren Reloads bin ich wieder online.

Ich habe mal einfach die Session Variablen ausgeben lassen und tatsächlich, mal sind sie da, mal nicht.

Ich benutze eine dafür angelegte Session-Klasse. Ich werde mal etwas code posten wie das ganze funktioniert. Ich kann da keinen Fehler finden. Vielleicht seht Ihr ja was.

Code:
[CODE]
<?php
session_start();

require_once("session.php");

$session = new session();

$check = $session->getSession();

if($check == "false")
{
   $session->setSession("beispiel","beispiel");
}
else
...
?>

//Session Klasse

class session
{
  var $db;

function session()
  {
    $this->db = new db_klasse;
  }

function getSession() //Überprüft die Session und gibt true oder false zurück
  {
    if($_SESSION['userid']!="" && $_SESSION['nick']!="" && $_SESSION['name']!="")
    {
      $ergebnis = $this->db->db_query(...);

$result=mysql_fetch_array($ergebnis);

$zurueck = "false";

if($result[0]==$_SESSION['zahl'] && $_SESSION['nick']==$result[1])
      {
        $zurueck = "true";
      }

return $zurueck;
    }
    else
    {
      return "false";
    }
  }

function setSession($user, $passwd)
  {
    $ergebnis = $this->db->db_query(...);
    $bool = "false";
    $result = mysql_fetch_array($ergebnis);
    if($result[1]==$user && $user!="")
    {
      $_SESSION['userid'] = $result[0];
      $_SESSION['nick'] = $result[1];
      $_SESSION['name'] = $result[2];
      $zufall=rand(0,1000000);
      $_SESSION['zahl']=$zufall;

$bool = "true";
    }
    return $bool;
  }

}
[/CODE]

Ich habe ein wenig Code entfernt, will ja nicht alles preisgeben. Aber das ist grundsätzlich der Aufbau.

Ich hoffe Ihr könnt mir helfen.
Achso bevor ichs vergesse, das passiert in Firefox, Opera und IE. Von daher muss es was an der Programmierung sein.