Nach eingabe einmal aktualisieren

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

  • Nach eingabe einmal aktualisieren

    Huhu Leute,

    ich habe mal ne Frage. Ich habe auf meiner seite ein loginformular und ein anzeige, ob mal eingeloggt ist oder nicht.
    Wenn man sich nun eingeloggt hat, wir in der "Statusleiste" erst nach aktualisierung der seite der richtige Status, nämlich eingeloggt gezeigt. Beim ausloggen ist es das selbe. Dort steht erst logged out, wenn die seite aktualisiert wird.
    Folgender Code der Statusanzeige:
    PHP-Code:
    <? 
      if (isset($_SESSION['login']))  {
          echo '<a href="index.php?inc=logout">Logout [ ' . $_SESSION['user'] . ' ]</a>';
      } else  {
          echo 'nicht eingeloggt';
        }
    ?>
    Wie könnte ich das hin bekommen, das quasi direkt nach drücken des einlognbuttons die richtige anzeige kommt ?

    Das loginformular sieht so aus:
    PHP-Code:
    <form action="index.php" method="POST">
      <
    class="login"><strong>Benutzername:</strong><br />
      <
    input name="name" type="text" size="20px"><br /></p>
      <
    span class="login"><strong>Passwort:</strong><br />
      <
    input name="pw" type="password" size="20px"><br /></span>
      <
    p><input name="login" type="submit" value="Login">
      <
    span style="font-family:verdana;font-size:9px;">
      <
    a href="index.php?inc=reg" style="text-decoration:none;">(Registrieren)</a></span>
      <
    input type="hidden" name="inc" value="login-auswerten">
    </
    form
    Zu erwähnen wäre noch, das es mit header (location: ) warscheinlich nicht klappt, weil der header schon gesendet wurde. Ich hatte es zwar mit dem jeweiligen html meta tag schon, dort kann man aber nicht einstellen, das direkt nur einmal aktualisiert wird.

    Danke schonmal für die Hilfe.
    Gruß

  • #2
    Wird $_SESSION['login'], wenn du dich einloggst, VOR oder NACH dem echo "eingeloggt" / "nicht eingeloggt" gesetzt?

    Wenn es erst danach gesetzt wird, dann ist es klar, dass es erst nach dem aktualisieren funktioniert...

    Kommentar


    • #3
      eigentlich nachher oder ?
      PHP-Code:
      <?
      $sql = "SELECT Benutzername, Passwort FROM user WHERE Benutzername = '".$_POST['name']."' AND Passwort = '".$_POST['pw']."'";
      $query = mysql_query($sql);
      $num = mysql_num_rows($query);
      $result = mysql_fetch_array($query);


        if (($result['Benutzername'] !== $_POST['name']) && ($result['Passwort'] !== $_POST['pw'])) {
            echo 'Falsches Passwort oder Benutzername<br />';      
        } else  {
            $_SESSION["user"] = $_POST['name'];
            $_SESSION["login"] = "login";
            echo '<strong>Login erfolgreich als: '. $_SESSION['user'] . '</strong>';
          }
      ?>

      Kommentar


      • #4
        Hi,

        Klingt so, als würdest du erst die Ausgabe machen, und dann den Wert für "logged in" setzen.
        Dreh es um und es sollte klappen.

        Gruß Thomas

        Kommentar


        • #5
          Hmm, das kann ich aber schlecht machen, da das status script immer ein der zelle steht auch für leute, die garnicht eingeloggt bzw. registriert sind.

          Aber das kann doch nicht sein, das es nicht möglich ist, nach einer eingabe bzw. nach dem abschicken eines formulars das fenster zu refreshen oder ?

          Kommentar

          Lädt...
          X