Wann Session starten?

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

  • Wann Session starten?

    Hallo!

    Ich programmiere gerade eine Login-Seite.

    Benutzerdaten werden abgefragt und auf Richtigkeit geprüft. Wenn falsch, dann noch einmal Benutzerdaten eingeben. Wenn richtig, dann auf die nächste Seite weiterleiten.

    Soweit gut und schön, aber wann starte ich die Session?

    Starte ich die Session bereits bevor der Benutzer seine Daten eingibt? Oder erst, nachdem die Validierung OK zurück liefert? Oder gar erst auf der nächsten Seite, auf die ich nach erfolgreicher Validierung weiterleite?

    Wo ist der richtige Platz für session_start()?

    mfg,
    Christian

  • #2
    Wo ist der richtige Platz für session_start()?
    imho auf der Seite mit dem Login Form, das der User zuerst aufruft. Weil du dem Form im action am besten auch die Session ID hinten anhängst.

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Kommt ein wenig drauf an....

      Natürlich macht es Sinn, die Session dann zu starten, wenn der User sich erfolgreich eingeloggt hat.

      Aber, der Einfachheit halber, kann die Session natürlich auch gestartet werden, sobald der User Deine Seite betritt

      Kommentar


      • #4
        Wenn's keinen Unterschied macht, dann werde ich das gleich ganz oben machen.

        Was aber, wenn sich der Benutzer nicht erfolgreich authentifiziert? Muß ich dann die Session jedesmal beenden?

        Kommentar


        • #5
          Was aber, wenn sich der Benutzer nicht erfolgreich authentifiziert? Muß ich dann die Session jedesmal beenden?
          Wieso denn dat ? Bei einem erfolgreichen Login legst du einfach eine Session Var an und wenn nicht erfolgreich, dann lässt du es.
          PHP-Code:
          //Login erfolgreich
          $_SESSION['login'] = true
          In den folgenden Seiten prüfst du einfach ob $_SESSION login existiert und den Wert true hat.

          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Danke für Deine Antwort.

            Ich werde es so machen.

            Kommentar


            • #7
              Original geschrieben von jonas01
              Natürlich macht es Sinn, die Session dann zu starten, wenn der User sich erfolgreich eingeloggt hat.
              Wenn du die selben Unterseiten nutzt, wie auch im nicht eingeloggten Zustand - dann musst du in denen ja sowieso jeweils die Session starten, um zu prüfen, ob eingeloggt oder nicht.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Generell würde ich sagen, du musst die Session auf der Seite starten, auf der du das erste mal etwas in Sie hineinschreiben willst.
                Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                Kommentar


                • #9
                  Original geschrieben von ArSeN
                  Generell würde ich sagen, du musst die Session auf der Seite starten, auf der du das erste mal etwas in Sie hineinschreiben willst.
                  Wie ich gerade davor schon sagte:

                  Auch, wenn du nur etwas auslesen willst (bspw. nur prüfen, ob $_SESSION['eingeloggt'] == true), musst du die Session starten.
                  Ohne session_start, keine Session.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    generell korrekt, aber wenn VORHER keine Session gestartet wurde (s. id), dann braucht man auf den normalen seiten trotzdem keine session starten.

                    Kommentar

                    Lädt...
                    X