TC Sebastian: Einloggen über Sessions erst nach 2. mal

Hallo, ich habe ein kleines Problem.
Ich habe eine Seite gemacht mit Login. Den Login habe ich so entworfen.

Man loggt sich ein, dann schaut die Seite in der MySQL DB nach, ob es den User gibt, ob das Passwort stimmt, und wenn alles klappt, dann setzt der Sessions.

Und wenn man wieder auf die Seite geht, zieht die Seite sich die Inhalte der Sessions (also Nickname und passwort) schaut dann wieder nach und ändert dann die Seite.

Oben in der Leiste steht anfangs "Anmelden" und "Registrieren". Wenn man sich jetzt ordentlich eingeloggt hat, dann werden diese beiden Sachen ersetzt gegen "Admin-Center" und "Abmelden".

Beim ersten Mal einloggen wird aber nix ersetzt. erst beim 2. Mal login. Und beim 1. Mal erhalte ich auch gar keine Fehlermeldung. Ich weiß nicht, wo ich anfangen soll, den Fehler zu suchen...

  1. Hi!

    Ohne Quellcode ist das schwer zu sagen. Ich würde mal raten dass Du im Script Probleme mit der Reihenfolge der Aktionen hast. Vermutlich wird erst authentifiziert nachdem schon irgendwelche "Weichen" für die Anzeige der Schaltflächen gestellt sind. Gebe Dir doch einfach mal mehr aus, gebe Dir sowas wie "echo 'eingeloggt'" an der Stelle nachdem die Zugangsdaten kontrolliert wurden. Dann sihest Du ob Du nicht vielleicht schon beim ersten mal eingeloggt bist.

    Grüße
    Andreas

    1. Also das hier ist in der index.php
      <?

      session_start();

      if(isset($_SESSION["username"]) && isset($_SESSION["password"]))
       {
       echo "abmelden"; ##Hier kommt der Link "abmelden" hin#
       }
       else
       {
      echo "registrieren";  ##Hier kommt der Link "Registrieren hin#
      }

      #Fertig!!!
      ?>

      Das ist ganz oben an der Stelle!!!

      1. Hi!

        Das ist ganz oben an der Stelle!!!

        Und wann schreibst Du das Passwort in die Session? Das Passowrt..wird vermutlich per GET oder POST übergeben, Du musst es natürlich _bevor_ Du die Authentifizierung über die Session-Daten durchführst´in die Session schreiben.

        Grüße
        Andreas

        1. Ja, das ist klar! Zuerst kommt man dadrauf. Dann klickt man auf Login, dann setzt der in der Datei login2.php die Session
          und linkt dann wieder auf die index.php zurück.

          1. Hi!

            Ja, das ist klar! Zuerst kommt man dadrauf. Dann klickt man auf Login, dann setzt der in der Datei login2.php die Session
            und linkt dann wieder auf die index.php zurück.

            Ist das Problem jetzt gelöst oder nicht?

            Grüße
            Andreas

            PS: Bedenke Trans-SID nicht bei Location-Headern funktioniert