header("location.... funzt nicht

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

  • header("location.... funzt nicht

    Warum zum Teufel wird hier nicht umgeleitet?

    PHP-Code:
    ..
    ......
    </head>
    <body>
    <?php
    $home 
    "http://www.meine_seite.de";
    if (
    $_GET['show']=="1875443686486484764764.jpg" ||
        
    $_GET['show']=="2976446497649764764766.jpg" ||
        
    $_GET['show']=="3186221586358545325468.jpg" || 
        
    $_GET['show']=="4956599785985875875977.jpg" || 
        
    $_GET['show']=="5993298445479542376875.jpg" ||
        
    $_GET['show']=="6199527863747862289875.jpg" ||
        
    $_GET['show']=="7272276337890647647764.jpg" ||
        
    $_GET['show']=="8478767846349973737675.jpg")
    {
    do(
    $show,$ack,$desc,$home);
    }
    else

    out($home);
    }
    function do(
    $show,$ack,$desc,$home)
    {
    echo 
    "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" summary=\"\">
    <tr><td>Vorschau: 
    $_GET[ack]</td></tr>
    <tr><td><a href=\"
    $home\"><img src=\"$_GET[show]\" border=\"0\" title=\"zur&uuml;ck zur Startseite\" alt=\"zur&uuml;ck zur Startseite\"></a></td></tr>
    <tr><td>Download: 
    $_GET[desc]</td></tr></table>";

    function 
    out($home)
    {
    header("location: wewewe.meine_seite.de"); //http:// hab ich jetzt hier weggelassen da sonst hier ein <a href eingefügt wird
    }
    ?>
     </body>
    </html>
    Wenn jetzt jemand ein Bild angibt was nicht existiert oder garnichts,
    soll erstmal auf die Startseite umgeleitet werden, geht nicht, stattdessen blizt es einmal auf und die Seite ist schwarz, schaue ich in den Quelltext
    ist zwischen dem <boby> nichst vorhanden "leer"</body>

    Jemand eine Idee wie ich das geregelt bekomme?

    Thnx

  • #2
    [list=1][*]Würde ich do nicht als Funktionsnamen verwenden ... weils ein Schlüsselwort (do ... while) ist ... aber das hat nur was mit Disziplin zu tun ... [*]Würde ich die If Abfrage mit 'nem in_array($_GET["show"], array("1875443686486484764764.jpg", "2976446497649764764766.jpg", ...)) umformulieren ... weil ich's übersichtlicher finde ...[*]Setz' doch mal in die Funktionen do() und out() ein echo "do"; um zu sehen ob du dort landest ...[*]Es könnte sein das Header-bezeichner Case-Sensitive sind ... also: Location nicht location ... [/list=1]
    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


    • #3
      ausserdem solltest du die ausgaben VOR dem header-befehl unterlassen.
      Kissolino.com

      Kommentar


      • #4
        Original geschrieben von Wurzel
        ausserdem solltest du die ausgaben VOR dem header-befehl unterlassen.
        heisst? wohin soll ich dann das header packen? nach oben oder wie?

        Kommentar


        • #5
          Setz' einfach in die erste Zeile ... noch vor Doctype und <html>-Tag ein
          PHP-Code:
          <?php ob_start(); ?>
          Das sollte reichen ... !
          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


          • #6
            php handbuch
            Beachten Sie, dass header() aufgerufen werden muss,
            bevor eine Ausgabe gesendet wurde, egal ob normale
            HTML Tags, leere Zeilen in einer Datei oder von PHP.

            Wo kämen wir hin, wenn jeder sagte: Wo kämen wir hin? und keiner ginge, um zu sehen, wohin wir kämen, wenn wir gingen?

            Kommentar


            • #7
              Original geschrieben von goth
              [list=1][*]Würde ich do nicht als Funktionsnamen verwenden ... weils ein Schlüsselwort (do ... while) ist ... aber das hat nur was mit Disziplin zu tun ... [*]Würde ich die If Abfrage mit 'nem in_array($_GET["show"], array("1875443686486484764764.jpg", "2976446497649764764766.jpg", ...)) umformulieren ... weil ich's übersichtlicher finde ...[*]Setz' doch mal in die Funktionen do() und out() ein echo "do"; um zu sehen ob du dort landest ...[*]Es könnte sein das Header-bezeichner Case-Sensitive sind ... also: Location nicht location ... [/list=1]
              Das mit dem array ist gut habe ich schon erledigt, nur was meinst du mit echo do? wie soll ich das einsetzen?

              Kommentar


              • #8
                Original geschrieben von goth
                Setz' einfach in die erste Zeile ... noch vor Doctype und <html>-Tag ein
                PHP-Code:
                <?php ob_start(); ?>
                Das sollte reichen ... !
                Einfach und effektiv ,,ich liebe dir,,

                Kommentar


                • #9
                  Original geschrieben von Detonator
                  Das mit dem array ist gut habe ich schon erledigt, nur was meinst du mit echo do? wie soll ich das einsetzen?
                  Sollte nur eine Ausgabe innerhalb der do() Funktion sein ... um zu sehen ob das Script dort reingeht ... ebenso echo "out" in der out()-Funktion ...
                  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


                  • #10
                    Jo, mit der HTTP-Umleitung läuft selten alles auf Anhieb so, wie man es gerne hätte.
                    ich mach das so:
                    PHP-Code:
                    header("HTTP/1.1 301 Moved Permanently");
                    header("Location: http://www.seite.de");
                    header("Connection: close");
                    exit; 
                    hopka.net!

                    Kommentar


                    • #11
                      Der Header "header("HTTP/1.1 301 Moved Permanently");" wird im allgemeinen von PHP selbständig generiert sobald ein Location-Header gesendet wird. "header("Connection: close");" ist nicht wirklich wichtig ...
                      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

                      Lädt...
                      X