Roessel Rolf: SESSION setzen nach Login

Hallo

habe mich schon eine Zeitlang mit PHP beschäftigt aber mit dem setzen einer Session komme ich nicht klar.

Möchte das nach einem Loggin per Passwort eine Session gesetzt wird die dann XX Minuten gültig ist.

Kann mir bitte jemand kurz einen Code schreiben wie ich das machen kann, Ihr würdet mir sehr helfen.

Gruß Rolf

  1. Hallo,
    fertige Codes gibts hier nicht - und sie zu fordern ist unverschämt.
    Deine Frage wurde schon X-mal beantwortet. Schon mal mit Suchen versucht?
    Gruss vom
    Suchhinweiser

  2. Hallo

    habe mich schon eine Zeitlang mit PHP beschäftigt aber mit dem setzen einer Session komme ich nicht klar.

    Wieso nicht? Wo liegt das Problem? Was hast Du probiert? Was gab es für einen Fehler?

    Möchte das nach einem Loggin per Passwort eine Session gesetzt wird die dann XX Minuten gültig ist.

    Dafür gibt es eine Einstellmöglichkeit in der php.ini(http://www.php3.de/manual/de/ref.session.php#ini.session.gc-maxlifetime), oder Du speicherst in der Session immer die Zeit des Requests, und wenn bei einem neuen Request die Zeitdifferenz zwischen aktueller Zeit und der in der Session stehenden Zeit des letzten Request > XX Minuten, dann beendest Du die Session mit session_destroy()(Erklärung siehe Manual: http://www.php3.de/manual/de/function.session-destroy.php).

    Kann mir bitte jemand kurz einen Code schreiben wie ich das machen kann, Ihr würdet mir sehr helfen.

    Dir einen fertigen Code zu schreiben bringt mir und vor allem Dir nicht wirklich viel. Bevor Du dich da dran machst lies erstmal folgende Kapitel in den PHP-FAQ und dem PHP-Manual duch:

    http://www.dclp-faq.de/ch/ch-version4_session.html
    http://www.php3.de/manual/de/ref.session.php

    Da stehen genügend Beispiele die Du mal probieren solltest, wenn Du dann eine konkrete Frage hast, wirst hier sicher eine Antwort bekommen.

    Viele Grüße
    Andreas

    1. Hallo,

      und außerdem gibt es da immer noch Andreas und meine Dauerdiskussion über Sessions und Vorgehensweisen und Sicherheit usw. Da habe wir eine  Menge Für- und Wider diskutiert. Wenn Du also "Session Anderas Korthaus Thomas Schmieder" in die Suche eingibst, dürftest Du bis morgen früh zu lesen haben.

      Das wsentliche für Dich schein mir aber zu sein zu begreifen, woran du den Verbindungswunsch mit einer gültige Session erkennen kannst, _bevor_ Du sie auf dem Server mit session_start() herstellst.

      Da solltest Du erstmal auf Deinem Client die Einstellungen auf experimentell einstellen: Cookies aus dem Netz nur nach Rückfrage, Cookies aus dem LAN nur nach Rückfrage. (JavaScripte vorher fragen; aber das gehört jetzt nicht hier zu den Sessions)

      Nur wer nachfragt, bekommt Antworten. Wenn Dein Browser alles automatisch entscheidet, wirst Du nur sehr schwer verstehen, was passiert.

      Dann solltest Du Dich mit dem Setzen von Cookies, dem Wiederfinden dieser auf dem Client, dem Gültigkeitsbereich (Domain, Pfad) und der Gültigkeitsdauer auseinandersetzen. Über die Gültigkeitsdauer regelt PHP auch die Cache-Stategie des Cookies. Ein Cookie mit Gültigkeitsdauer 0 oder NULL wird von PHP mit dem HTTP-Header-Eintrag "nicht speichern" abgeschickt. Das hat eigentlich nicht dierekt was mit der Gültigkeitsdauer zu tun, ist aber in PHP so ganz praktisch geregelt. EIn Cookie mit einer Gültigkeitsdauer >0 wird von PHP automatisch kit dem Header "speichern" abgeschickt.

      Und wenn Du aus der an den Cleint ausgelieferten Seite dann wieder einen Request an ein Script auf dem Server richtest, dann muss der Cookiee irgendwo gelandet sein. Schreib mal in dein testCookie.php-Script

      <? #### testCookie.php ####

      echo "<pre>";
      print_r($_COOKIE];
      echo "</pre>";

      ?>

      rein. Dann weißt Du mehr.

      Na, und das Script rufst Du dann auch aus einem HTML-Dokument auf, dass Du mit session_start() auf dem Server begonnen hast.

      also

      <?  #### testSession.php ####
      session_start();
      ?>

      <html>
      <head>
      <title>Session starten</tilte>
      </head>
      <body>

      <a href="testCookie.php" target="cookiepage">Zur Cookieanzeige</a>

      </body>
      </html>

      Wenn Du diese Versuche durchgeführt hast und noch Fragen hast, dann komm gerne wieder.

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.