header("Location:") suche alternativen

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

  • header("Location:") suche alternativen

    Hey Leute
    Ihr kent doch sicher alle den befehl
    header("Location:blabla.htm");
    für alle die diesen befehl nicht kennen: Mit diesem befehl springt man einfach automatisch auf die Seite "blabla.htm".

    Dieser Code hatt jedoch einen Haken nämlich:
    man kann nur mit header schafen wen man vorhin keine ausgabe gemacht hatt (ganz egal ob html oder php).

    ich kann diesen Code jedoch nicht an den anfang verschieben da dies vom Sript her nicht möglich ist giebt es eine alternative zu diesem
    header("Location:blabla.htm") befehl ???
    vieleicht sowas wie footer("Location:blabla.htm") :-p :-P

    Vielen Dank im voraus
    Greez ChiefTequila

  • #2
    Entweder Skript umstellen oder Ausgabe puffern (ob_start)
    Ein Umstellen des Skripts ist in der Regel die bessere Möglichkeit
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      oder noch unsauberer aber rein html, im header, den meta refresh einsetzen:
      PHP-Code:
      <meta http-equiv="refresh" content="0;url=http://www.blabla.htm/"
      In Flames - Pinbal Map
      Becoming the Archetype - No Fall Too Far
      Pantera

      Kommentar


      • #4
        Ich würde dir auch empfehlen dein script umzustellen. ansonsten kannst du auch noch die (unschöne) variante mittels javascript einbauen.
        [color=blue]...ich sehe was, was du nicht siehst...und das ist der QUELLTEXT![/color]

        Kommentar


        • #5
          Normalerweise stelle ich in so einem fall auch das script um aber das geht in diesem speziellen fall leider nicht.

          html..
          html..
          html...

          <?php
          SQLSTATEMENT
          while(Rückgabezeugs){
          echo "werte";
          i(etwas falsch){
          header("location:blabla.htm");
          }
          }//

          ?>

          html html


          mein code sieht erwa so aus (Natürlich korekt geschrieben)
          ich hoffe das ist verständlich :-P

          Kommentar


          • #6
            völlig verständlich, aber völlig kacke gelöst.

            PHP-Code:
            function berechneWas() {
                
            $ergebnis '';
               while( 
            $berechnen ) {
                        if( 
            irgendwas falsch) {
                             throw new 
            IrgendwasFalschException();
                       }
                       
            $ergebnis .= ...
               }
               return 
            $ergebnis;
            }

            // benutzen:

            try {
               
            $ergebnis berechneWas();
               echo 
            $ergebnis;
            } catch ( 
            IrgendwasFalschException $e) {
                
            header('Location: http://irgend.was/falsch');
                die();

            in php4 kannst du alternativ zur exception auch boolean false in der funktion zurückgeben, und dann

            PHP-Code:
            $erg berechneWas();
            if(
            false === $erg) {  // beachte die 3 gleichheitszeichen
              
            header('Location: http://irgend.was/falsch');
              die();
            }

            echo 
            $erg

            Kommentar


            • #7
              Und ein Umstellen zu
              PHP-Code:
              <?php
              SQLSTATEMENT
              if(etwas falsch){
              header("location:blabla.htm");
              }
              ?>
              html..
              html..
              html...

              <?php
              while(Rückgabezeugs){
              echo 
              "werte";
              }
              //

              ?>

              html html
              geht nicht?
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                befolge den rat von mrhappi --> Ausgabe puffern (ob_start)

                PHP-Code:
                ob_start(); 

                html ausgabe // ausgabe errechnen

                if ($wl_ziel) {header ("Location: index.php?content=$wl_ziel");}

                ob_end_flush(); 

                Kommentar


                • #9
                  hey
                  Danke an Daniela und mrhappi
                  der Code ist genial
                  danke natürlich auch an die anderen.

                  Greez
                  ChiefTequila

                  Kommentar

                  Lädt...
                  X