Ankündigung

Einklappen
Keine Ankündigung bisher.

headers already sent - weiterleitung erzwingen

Einklappen

Neue Werbung 2019

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

  • headers already sent - weiterleitung erzwingen

    ich weiß, dieses thema gibts schon oft. aber einige empfehlen google, anstatt eine lösung anzubieten bzw. auf eine quelle zu verweisen. die anderen lösen das problem mit
    Code:
    <meta http-equiv="refresh" content="3;url=url">
    würde mich freuen, wenn mir jemand sagen würde wie ich die weiterleitung dennoch mit php erzwingen kann!

    PHP-Code:
    ...
    if(
    $ip != $ip_db)
    mysql_query('UPDATE webring SET hits = hits + 1, lasthit = NOW(), lasthitip = '.$ip.' WHERE id= '.$id);
        
    header("Location: $url");
    exit; 
    nachdem nun in die db was reingeschrieben wurde, soll eine weiterleitung stattfinden. aber wie?
    Gruß
    David


  • #2
    PHP-Code:
    <?php
    header
    ("Location: $url");
    exit; 
    ?>
    damit ?
    Klick mich


    Kommentar


    • #3
      PHP-Code:
      <?
      ...
      if($ip != $ip_db)
      mysql_query('UPDATE webring SET hits = hits + 1, lasthit = NOW(), lasthitip = '.$ip.' WHERE id= '.$id);

      header("Location: $url");
      exit;
      ?>
      Was bedeutet das "..." in der ersten Zeile? Gibt es da irgendwelche Ausgaben? echo, print oder nacktes HTML???

      header() darfst du nur VOR etwaigen Ausgaben verwenden, sobald irgendwas, scheiß egal was, an den Browser gesendet wird,
      ist der header nicht mehr zu gebrauchen. Dazu zählt auch ein <html>, <body> oder sonstwas.

      http://de.php.net/manual/de/function.header.php

      Kommentar


      • #4
        @md5hash
        steht es bei mit irgendwie anders???

        @Magic
        ja es gibt eine ausgabe davor. und das was du beschreibts ist mir auch bekannt, dennoch muss doch eine möglichkeit geben, um nach einer ausgabe eine weiterleitung auszuführen? oder sehe ich das falsch und man muss an die sache irgendwie anders rangehen?

        habe jetzt dazu was gefunden "ob_start()". hat es einen negativen einfluss auf das script. muss deswegen irgend eine andere funktion den kürzeren ziehen?
        Gruß
        David

        Kommentar


        • #5
          habe jetzt dazu was gefunden "ob_start()". hat es einen negativen einfluss auf das script.
          Es hält die Ausgaben in einem Puffer zurück, so dass headers vor diesen Ausgaben an den Browser geschickt werden.

          Was macht eine Ausgabe "vor" einer Umleitung für einen Sinn?

          Kommentar


          • #6
            Was macht eine Ausgabe "vor" einer Umleitung für einen Sinn?
            wenn ich das wüsste ich hab den code als rohling bekommen und versuche gerade einige dinge zu ändern.
            Gruß
            David

            Kommentar


            • #7
              poste halt den ganzen code?
              Klick mich


              Kommentar


              • #8
                ich habe den abschnitt überarbeitet. werde den code erst posten sobald der fertig ist. ich komme mit ein paar kleinigkeiten nicht zurecht.
                Gruß
                David

                Kommentar


                • #9
                  Warum soll sich ob_start()/ob_end_flush() negativ auf das Skript auswirken?

                  Kommentar


                  • #10
                    wenn die frage an mich gerichtet ist - das weiß ich nicht, deshalb auch die frage.

                    ich nehme an, wenn sauber programmiert wird, bräuchte man es auch nicht. auf jeden fall habe ich das script so umgeschrieben das es meine vorstellungen erfüllt und funktioniert. jetzt mache ich mich ran, um alles überflüßige zu löschen bzw alles zu optimieren.
                    Gruß
                    David

                    Kommentar


                    • #11
                      Zitat von Bonaparte
                      [...]
                      dennoch muss doch eine möglichkeit geben, um nach einer ausgabe eine weiterleitung auszuführen? oder sehe ich das falsch und man muss an die sache irgendwie anders rangehen?
                      Ja, natürlich gibt es diese Möglichkeit, aber nicht mit der header()-Funktion. Wenn du eine spätere Weiterleitung möchtest, empfehle ich dir einen meta-Tag. Dann haben die Leute auch Zeit zu lesen was da steht. Wenn die Leute nix lesen sollen/brauchen, dann entferne alle Ausgaben und benutze header().

                      Kommentar


                      • #12
                        Zitat von Magic
                        Ja, natürlich gibt es diese Möglichkeit, aber nicht mit der header()-Funktion.
                        Was meinst Du wofür das Attribut http-equiv steht [siehe erster Post]?

                        Kommentar


                        • #13
                          kann man dir auch nur zu raten, wenn man weiß um was es geht.
                          Klick mich


                          Kommentar


                          • #14
                            Zitat von karl-150
                            Zitat von Magic
                            Ja, natürlich gibt es diese Möglichkeit, aber nicht mit der header()-Funktion.
                            Was meinst Du wofür das Attribut http-equiv steht [siehe erster Post]?
                            Ich weiß irgendwie nicht was du mir damit sagen willst!?
                            Ich rede hier nicht vom HTML-Header, sondern von der PHP-Funktion header().

                            @md5hash, deinen Post verstehe ich auch nicht, bzw. den Zusammenhang nicht!?

                            Kommentar


                            • #15
                              nun, die entscheidung ob nun html header über meta tag oder php header geeignet ist, kann man nur treffen, wenn man genauer weiß worum es geht.

                              wir wissen ja nix von dem problem.
                              Klick mich


                              Kommentar

                              Lädt...
                              X