Login-Klasse // Problem mit Session

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Login-Klasse // Problem mit Session

    Hallo,
    ich habe ein Problem mit dem Login auf meiner Seite und hoffe dass ich es klar schildern kann, damit Ihr mir einen Tip geben könnt.....

    Also ich habe erstmal eine User-Klasse, die erstmal nichts Besonderes ist, sondern dessen Objekte nur als sogenannte "Value-Objects" (schönes Wort, gell?) dienen.

    Desweiteren habe ich eine UserController-Klasse gebastelt, die diverse Funktionen zur Verwendung der User-Klasse implementiert, beispielsweise eine Funktion showLoginForm() usw.
    Und auch eine logsIn() - Funktion, welche erstmal Login-Name und Passwort überprüft und dann "loggedin" in der Session registriert. Am besten poste ich diese Funktion hier mal:
    PHP-Code:
    function logsIn() {
       if (isset(
    $_REQUEST['login']) && isset($_REQUEST['pass'])) {
        
    $db = new Database();
        
    $db->connect();
        
    $db->query("select pass from ".PROJECT_NAME."_user where login='".$_REQUEST['login']."';"); 
             if (
    $db->getRecord()) $password $db->getValue('pass');
             if (
    $password == $_REQUEST['pass']) {
        
    $this->loggedin true;
        
    $loggedin $this->loggedin;            
        
    session_register("loggedin");            
             }
             
    $db->disconnect();
       }

    Jetzt muss ich noch dazu sagen, dass im Konstrukter der UserController-Klasse der Session-Wert von "loggedin" ausgelesen werden soll, dieser ist aber immer NULL! Was mache ich verkehrt?
    PHP-Code:
    function UserController() {
        
    session_start();
    //    $this->user = new User();
        
    $this->loggedin $_SESSION['loggedin'];
    //             vardump($this->loggedin);

    Und im Endeffekt will ich dann natürlich in meinen Scripten so schöne kleine UserController Class - Funktionen wie diese benutzen:
    PHP-Code:
    function logsOut() {
        
    session_destroy();
    }    
        
    function 
    isLoggedIn() {
        return 
    $this->loggedin;

    Hat jemand ne Idee, warum $this->loggedin immer NULL ist bzw. warum das Auslesen aus der Session nicht klappt? Macht meine ganze Klassen-Struktur Sinn? Thx für Tips und Anregungen ...

  • #2
    haste session-id überprüft?

    wenn du dir $_SESSION['loggedin'] AUF DER SEITE ganz normal ausgeben lässt, was dann?

    Kommentar


    • #3
      "NULL"

      Kommentar


      • #4
        evtl stimmt die übergabe deiner sessionid nicht.
        erlaubt dein browser Cookies?
        benutzt du SID in deinen Links?
        ist session.use_only_cookies=1 in der php.ini?

        btw:
        Aus dem PHP-Manual:
        Wenn Sie $_SESSION verwenden und register_globals deaktivieren, sollten Sie session_register(), session_is_registered() und session_unregister() nicht verwenden, wenn Ihre Scripte mit PHP 4.2 und niedriger funktionieren sollen. Sie können diese Funktionen ab 4.3 verwenden.

        Kommentar

        Lädt...
        X