Session in einer Class verarbeiten

Webber

Mitglied
Hi hab da mal ne Frage, wie ich eine SessionID in einer Class abfragen kann.

Die Class hat die Aufgabe, mir einen Tabelleneitrag zu ändern. aber nur den, der zu der jeweiligen id gehört.
in die SessionID hab ich die ID des jeweiligen Datensatzes schreiben lassen. Die SessionID liegt hier in der var $userid

Der Classaufruf sieht wie folgt aus:

PHP:
    ... 
        function refresh() 
        {
        global $REMOTE_ADDR, $PHP_SELF; 

        $currentTime = time();
        $timeout = $currentTime - $this->timeoutSeconds;

        mysql_connect($this->host, $this->user, $this->password)
           or die('Error conecting to database');

        mysql_db_query($this->database, 
        "UPDATE user SET timestamp='$currentTime', ip='$REMOTE_ADDR',file='$PHP_SELF' WHERE id = '$userid' ") 
        or die('Error writing to database');


        mysql_close(); 
        }

So wie es jetzt ist, findert er den jeweiligen Datensatz nicht und wenn ich die WHERE Bedingung weg lasse, dann schreibt er mir den timestamp, die ip und den file in jeden Datensatz, was aber nicht soll und darf.

So Leute wer kann mir denn nun helfen???

Ich danke schonmal

cu webber
 
Und wie das? Hab leider nicht all zu viel Ahnung von Classes.

Hier mal die kompl. Datei

PHP:
<?php
session_start (); 


class UserOnline {



    var $host     = 'localhost';
    var $database = 'xxx';
    var $user     = 'xxx';
    var $password = 'xxx';
  
    var $timeoutSeconds = 180;
    var $numberOfUsers = 0;

    function UsersOnline() {
        $this->refresh();
    }


    function refresh() {
        global $REMOTE_ADDR, $PHP_SELF;

        $currentTime = time();
        $timeout = $currentTime - $this->timeoutSeconds;

		
        mysql_connect($this->host, $this->user, $this->password)
            or die('Error conecting to database');

        mysql_db_query($this->database,
                       "UPDATE user SET timestamp='$currentTime', ip='$REMOTE_ADDR',file='$PHP_SELF' WHERE id = '$userid' ")
            or die('Error writing to database');

       
        mysql_close();
    }

}

$onl = new UserOnline;

?>
 
Zurück