Nach header("Loc...") ändert sich die Adresszeile nicht.

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

  • Nach header("Loc...") ändert sich die Adresszeile nicht.

    Hallo zusammen,
    ich habe ein Problem bei einem Loginscript.

    Das ganze beginnt auf der seite formular.php mit folgendem echt simplen code:
    HTML-Code:
    <form method="post" action="login.php">
            <table>
                <tr>
                    <td><input type="text" size="10" name="uprf" maxlength="10" /></td>
                </tr>
                <tr>
                    <td><input type="password" size="10" name="pass" maxlength="10" /></td>
                </tr>
                <tr>
                    <td><input type="submit" value="Anmelden" /></td>
                </tr>
            </table>
        </form>
    Danach wird die php Datei "login.php" aufgerufen:
    PHP-Code:
    <?php
    # Session starten
    session_start ();
    require (
    "class_user.php");


    $user = new User();

    $returncode $user->LoginUser($_REQUEST['uprf'], $_REQUEST['pass']);

    if(
    $returncode==true){
      
    header ("Location: Index.php"); 
      exit();

    else 

      
    header ("Location: formular.php?fehler=1"); 
    }
    Und jetzt lande ich wirklich auf der Seite "Index.php" ABER in der Adresszeile steht immernoch Login.php obwohl diese nicht mehr angezeigt wird. Wenn ich jetzt F5 drücke läuft der script Login.php noch einmal durch und da keine Parameter übergeben werden landet man auf formular.php?fehler=1.

    Genau die selbe Vorgehensweise hat bei mir schon so oft funktioniert, weswegen ich jetzt ziemlich aufgeschmissen bin.

    Mfg Andreas

  • #2
    Dein Browser spinnt!
    Wird wirklich ein Status 302 gesendet?
    Wir werden alle sterben

    Kommentar


    • #3
      Ja 302 kommt. Anbei mal ein Screenshot, was Google Chrome dazu sagt.
      Angehängte Dateien

      Kommentar


      • #4
        Hallo,

        für Redirects sollte immer eine vollständig Adressangabe inklusive dem Protokoll verwendet werden - also:
        PHP-Code:
        header ("Location: http://www.example.com/Index.php"); 
        Ich kenne zwar keinen Browser, der diesen Fehler nicht verzeihen würde, dennoch sollte man hier so korrekt wie möglich vorgehen.
        Vielleicht gibt sich dein Problem damit dann auch
        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
        Schön - etwas Geschichte kann ja nicht schaden.
        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

        Kommentar

        Lädt...
        X