Markus Grob: weiterleiten aus Skript heraus

Hallo

Habe jetzt mit Google versucht, die Lösung zu finden, doch irgendwie scheint es mein Anliegen nicht so zu geben, wie ich es mir wünsche.

Folgendes:

Ein HTML-Formular schickt Daten an ein PHP-File, das diese in einer Datenbank verifiziert und danach auf eine weitere Seite weiterleitet.

Mein Problem ist die automatische Weiterleitung, da ich nicht einfach einen Header senden kann, da es aus dem Skript heraus geschieht.

Als Kurzvariante:

if ($user=="user" && $pwd=="richtig") {
 return("http://localhost/admin/admin.php");
}

Weiss jemand, wie ich hier weiterleite ohne einen Link zu haben auf den man drücken muss?

Gruss, Markus

  1. Hallo Markus,

    die Lösung:

    header("Location:index.php");

    Wichtig: Vorher darfst du noch keine Daten per echo ausgegeben haben oder text,...!

    Tschau

    1. Hallo Markus,

      die Lösung:

      header("Location:index.php");

      Wichtig: Vorher darfst du noch keine Daten per echo ausgegeben haben oder text,...!

      Nun, das Problem ist, dass ich trotzdem die Fehlermeldung bekomme.

      Hier das Script:

      <?
      if ($user=="user" && $pwd=="ok") {
      header("Location: http://localhost/admin/admin.php");
      }
      else {
      echo "Leider fehlgeschlagen.";
      return("index.php");
      }

  2. Hallo

    Als Kurzvariante:

    if ($user=="user" && $pwd=="richtig") {
     return("http://localhost/admin/admin.php");
    }

    Weiss jemand, wie ich hier weiterleite ohne einen Link zu haben auf den man drücken muss?

    Vor einer redirektion darf kein header gesendet werden. Das kannst du in einer Kontrollstruktur wie folgt einbauen:

    ohne Eingabe:
    header ausgeben
    formular ausgeben

    wenn eine Eingabe erfolgte:
    if($ok) { redirect("okseite")}
    else{ redirect("nichtokseite") }

    Erwin

    --
    SELFforum - Das Tor zur Welt!
    Theoretiker: Wie kommt das Kupfer in die Leitung?
    Praktiker: Wie kommt der Strom in die Leitung?
    1. Hallo,

      if ($user=="user" && $pwd=="richtig") {

      header("Location:http://localhost/admin/admin.php");

      }

      Fertig!

      cu

      1. Hallo,

        if ($user=="user" && $pwd=="richtig") {
              header("Location:http://localhost/admin/admin.php");
        }

        Und das funktioniert dann in allen Browsern und so? Oder gelten da die gleichen Beschränkungen wie bei Meta Weiterleitungen? Bei Meta kann ich ja noch einen Link dazubasteln, muss ich das hier danach noch machen, oder wird das immer funktionieren?

        Grüße
        Jeena Paradies

        --
        Alkoholverbot in der gesammten Bamberger Innenstadt!
        http://www.jeenaparadies.de/alkoholverbot/