Autoweiterleitung nach Passwortabfrage

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

  • Autoweiterleitung nach Passwortabfrage

    Hallo Leute!

    Ich habe eine Passwortabfrage (über einfachen Variablenvergleich, nicht über PHP_AUTH_USER) gebaut und will darüber verschiedene User auf entsprechende Seiten autoweiterleiten (statt einen "href" zu setzen).
    Ich hab folgendes probiert:

    Header("Location: /blabla/index.htm");

    Dabei verabschiedet sich PHP aber immer mit:

    Warning: Cannot add header information - headers already sent by (output started at d:\apache\utm\beta\index.php:5) in d:\apache\utm\beta\index.php on line 41

    Ich hab gelesen, das passiert, wenn man den Header mehrmals senden will. Das mach ich doch aber nicht, oder? Ich hab auch ein "exit" druntergehängt - hat nichts geändert. Oder liegt das daran, dass das nur mit vorangestellten "HTTP" und online geht? Kann mir jemand nen Tipp geben, wie das funzt? Ich habs auch per Java-Skript versucht, und zwar mit:

    open("blabla/index.htm","self");
    self.focus();
    self.close();

    Das funktioniert auch, aber der Link wird durch "open" natürlich in einem neuen Fenster autogeöffnet und das parent-Fenster wird geschlossen (oder ohne die zwei self-Dinger bleibts im Hintergrund offen). Damit ist aber die Histroy im Arsch und man muss um zurückzukommen an der URL rumfummeln.

    Ach so! "include" habe ich auch probiert!

    include ("blabla/index.htm");

    Aber das geht irgendwie nicht richtig. Die parent-Seite hat einen schwarzen Hintergrund, die verlinkte Seite aber ein Hintergrundbild. Das Hintergrundbild dieser Datei wird bei Includen aber komischerweise nicht gezeigt, sondern der Background ist nach wie vor schwarz. Ich denke, das hat mit dem "include" zu tun. Aber wissen tue ich es nicht. Ich weiß so wie so noch ziemlich wenig (

    Also ich will, dass wenn "Hans Wurst" sein Passwort eingibt, er automatisch auf die "hanswurst\index.htm" geleitet wird. Das geht doch sicher ganz einfach! Eine Java-Skript-Lösung ist ok, doch PHP wäre mir lieber.

    Danke für jeden Hinweis!
    HE.
    +++

    Meine "Passwort-Abfrage" ist ganz primitiv mit "abschicken"-Check und "echo $PHP_SELF":

    if($abschicken)
    {
    if ($passwort == "hanswurst")
    {
    ... bedingter HTML-Code - AutoWeiterleitung
    } else {
    .. Fehlermeldung
    }
    }
    ... Formular

  • #2
    Für dein Problem solltest du ein Abfrage Script einsetzen was keine HTML-Ausgabe macht, sondern nur eine Weiterleitung macht wenn die Var mit dem Soll-Stand übereinstimmt.
    Beispiel:

    <?php
    if($var == Peter)
    {
    header("Location: ../peter/peter_index.html");
    }

    if($var == Klaus)
    {
    header("Location: ../klaus/klaus_index.html");
    }

    if($var != Peter || $var != Klaus)
    {
    header("Location: ../login/login_index.html");
    }
    ?>

    Benutz doch mal den Button
    Zuletzt geändert von Wotan; 27.07.2002, 21:58.
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

    Kommentar


    • #3
      Wenn du mit Header arbeitest, immer darauf achten, dass der unter keinen Umständen (auch bei Fehlern) kein HTML ausgibt. Ansonsten nimmst du nen Meta-Refresh. Ich glaub der Funzt sogar mitten in der Seite. Oder halt Java.

      Kommentar


      • #4
        Die Fehlermeldung ist doch an und für sich recht aussagekräftig

        In der Datei d:\apache\utm\beta\index.php
        In der Zeile 41

        wurde, bereits eine Ausgabe getätigt.

        Die Funktion header() darf allerdings nur verwendet werden, wenn noch keine Ausgabe erfolgt ist ...

        ... einfacher Workaround: ob_start() in die erste Zeile Deines Scripts ... !
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar


        • #5
          Der FEHLER ist folgender.

          Weil da schon irgendwas geschrieben wurde (in die Seite) Per echo oder Fehlermeldung oder auch direkter HTML-Code vor dem PHP-Script, kann der den header nicht nochmal senden. der wurde ja logischer Weise schon gesendet, sonst würde oben genanntes ja nicht ausgegeben.

          Kommentar

          Lädt...
          X