Julia P: Login mit Userabhaengiger Nutzerfuehrung

Hallo Leute,
ich soll fuer meinen Chef ein Loginbereich erstellen, ueber den man
in nachgeordnete Seiten sich einloggen kann. Dort soll die Nutzerfuehrung abhanegig vom User sein.

Ich habe mir das selfphp-tutorial dazu durchgelesen, doch leider raff ich das nicht:

Nachdem der Nutzer sein User- und Passwordeintrag gemacht hat, muesste man das mit der Datenbank ueberpruefen.
Dann session_start()? Und dann das eintragen der Session_id in Cookie
und in die Batenbank?
Und wie kann ich dann auf nachfolgenden Seiten die Infos wieder auslesen? Mittels geit_cookie_params - und dann die session_id vergleichen mit den Eintraegen in der Datenbank?

Es waere so toll, wenn ihr mir unwissenden auf die Spruenge helfen koennten!
Danke!
Eure Julia

  1. Nachdem der Nutzer sein User- und Passwordeintrag gemacht hat, muesste man das mit der Datenbank ueberpruefen.

    Das kannst Du machen, mußt es aber nicht. Obwohl es sehr sinnvoll wäre ;)

    Dann session_start()?

    Ja.

    Und dann das eintragen der Session_id in Cookie und in die Batenbank?

    Nein. Mit der Session-ID hast Du nix am Hut, die wird vom PHP-Interpreter höchstpersönlichst und ohne Dein Zutun verwurstet.
    Womit Du was am Hut haben solltest, ist das Feld $_SESSION[], in dem sich Deine gesammelten Werke (lies: gespeicherten Variablen) befinden. Du kannst dort (nach session_start()) fröhlich Werte reinschreiben und auf jeder folgenden Seite wird nach dem Aufruf von session_start() dieses Feld wiederhergestellt.

    Nochmal kurz: session_start() aufrufen und gewünschte Werte in $_SESSION[] ablegen oder von dort lesen.

    Gruß,
      soenk.e (der gerade ein Déja-Vu hatte?)

    1. ;-) Danke Soenk.e :-)
      Eine Fräge: Ich kann dann au die $_SESSION[] von jeder der nachfolgend verlinkten Dateien wieder zugreifen, ohne dass ich sie mit ?variable[1]=blablabla&... an die URL ranhaenge? Und der Browser greift ganz automatisch auf die session-id zurueck?
      Danke!

      1. Eine Fräge: Ich kann dann au die $_SESSION[] von jeder der nachfolgend verlinkten Dateien wieder zugreifen, ohne dass ich sie mit ?variable[1]=blablabla&... an die URL ranhaenge?

        Ja. Das ist der Sinn der ganzen Session-Geschichte: Die Daten verbleiben auf dem Server (identifiziert über die Session-ID) anstatt über die URL ($_GET) oder ein Formular ($_POST) ständig hin- und hergeschoben zu werden. Diese Schieberei verbraucht erstens Bandbreite und -viel schlimmer- macht zweitens die Daten manipulierbar.

        Und der Browser greift ganz automatisch auf die session-id zurueck?

        Jein, im Prinzip richtig, aber verkehrte Richtung. Beim Start einer Session würfelt der PHP-Interpreter die Session-ID aus, markiert alle Variablen, die gespeichert werden sollen, mit diesem Code, speichert die Variablen auf dem Server und schickt den Code (und nur den Code) als Cookie an den Browser.
        Der Browser macht eigentlich gar nichts, außer das er jedesmal beim Abrufen eines Objekts stur alle zur jeweiligen URL passenden Cookies zurück an den Server schickt - daß da irgendwas mit einer Session läuft, bemerkt er nicht.
        Der PHP-Interpreter allerdings schaut nach Aufruf von session_start() in dieser Cookieliste nach einem Sessioncookie (erkennbar am Namen PHPSESSID o.ä.) und, falls es da ist, stellt die Variablen, die mit dem im Cookie gesendeten Code markierten sind, wieder her.

        Hört sich vielleicht kompliziert an, ist aber ansich recht simpel.

        Gruß,
          soenk.e

        1. Hört sich vielleicht kompliziert an, ist aber ansich recht simpel.
          Gruß, soenk.e

          Hihi,
          Du hast gut reden ;-)
          Dankeschoen fuer Deine nette und ausfuehrliche Hilfe!
          Julia