PHP Weiterleitung

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

  • PHP Weiterleitung

    Hi!

    weiss nich wo das genau dazugehört, da es PHP, HTML und Ajax beinhaltet.

    also hab folgendes problem:
    in einer HTML ist ein Ajax script drin - > Das Ajax Script ruft eine PHP Datei alle 5 sekunden auf, wo das ergebniss etweder NULL ist, wenns nicht Null soll es einen Wert liefern, so dass sich die Seite weitergeleitet wird.

    Wie kann ich jetzt eine PHP Ausgabe für Ajax machen, so dass sich die
    Seite weiterleitet?!

    echo "wawa"; usw steht dann in der HTML, aber wenn ich jetzt das mit meta refreh mache, funktioniert das nicht, wieso ?!

    ich denke es geht viell mit ner PHP Weiterleitung nur wie ist der Befehl
    dafür ?!

    Ich hoffe ihr habt das Problem verstanden.

    greets tom

  • #2
    in einer HTML ist ein Ajax script drin - > Das Ajax Script ruft eine PHP Datei alle 5 sekunden auf, wo das ergebniss etweder NULL ist, wenns nicht Null soll es einen Wert liefern, so dass sich die Seite weitergeleitet wird.
    PHP-Code:
    if($var != NULL){
        
    header('Location: http://deine_domain.de/pfad/file.php');
    }else{
        
    //mach wat anderes

    Ich würde die Weiterleitung serverseitig machen. Da die Var ja von php "gemacht" wird, weiss php auch in welchem Falle weitergeleitet werden sollte.
    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      hmm er includet ja nur die seite. so ist die seite dann weiter unten.

      http://www.warrock-europe.net/includ...tml?matchid=17 <-- hier der link.

      die seite hat eben AJAX und AJAX liest ne PHP aus. Jetzt kontrolliert
      PHP die Datenbank, wenn was vorhanden ist, dann soll die gestamte
      seite weitergeleitet werden. Und da muss PHP irgendwas per echo ausgeben, so das ajax dann die seite weiterleitet.
      Zuletzt geändert von AciD-CoRe; 26.07.2006, 00:16.

      Kommentar


      • #4
        hmm ja da macht er ja nur ne seite dazu, das möcht ich nich, da die seite ja nicht leer ist und der dann immer wieder die seite neu öffnet.
        hä, wie meinen ?
        Du willst doch je nach Wert der Variable entweder Weiterleiten oder eben nicht ?
        Und genau das macht der Schnippel. Wie gesagt ich würde das serverseitig machen weil JS deaktiviert sein kann und auch der meta refresh kann abgeschaltet sein (je nach Browser Konf)

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          hmm lässt mich nich weiterleiten wie du bei den link siehst, jetzt ist
          einfach google (war nur zum test) unten.

          Kommentar


          • #6
            Wie hast du denn jetzt die Weiterleitung gemacht ? Code bitte...
            Wenn du schon dabei bist könnte
            PHP-Code:
            error_reporting(E_ALL); 
            weiterhelfen.
            Ev gibst du schon irgendwelche Zeichen aus bevor du den header() sendest

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              ja klar gib ich was vor den header aus und das is dann das problem.

              weil AJAX fragt ja PHP ab, PHP soll arbeiten und AJAX soll dann weiterleiten wenn PHP einverstenden ist.

              hier mal kleine scripte:


              Diese PHP wird von AJAX aufgerufen:
              PHP-Code:
              $abfrage2 mysql_query("SELECT * FROM Matches where Matchid='$matchid'");
              $row mysql_fetch_assoc($abfrage2);

              if (
              $row[status] == "start") {


              echo 
              "DAS STEHT DANN AUF DER HAUPTSEITE, HIER MUSS DIE
              WEITERLEITUNG REIN"
              ;

              match.html:
              ....
              AJAX SCRIPT (is eh klar)
              <div id="hallo">HIER STEHT DANN DAS, WAS IM PHP ECHO STEHT</div>

              hmm ja und zwischen div muss jetzt irgendwie die seite weitergeleitet werden.

              sorry dass das ich das so kompliziert erkläre, aber weiss nich wie ichs sonst
              soll *g*-

              mfg tom

              Kommentar


              • #8
                Also das
                PHP-Code:
                if ($row[status] == "start") { 
                sollte einen Fehler geben. status ist ein String und den solltest du auch als String schreiben.
                Nochmals die Frage, warum leitest du nicht mittels PHP weiter ? PHP wird doch die neue Seite kennen, die geladen werden soll.
                Ansonsten musst du einfach den Inhalt der Antwort von PHP mit deinem AJAX Script auswerten und je nach Wert entweder mittels refresh oder mittels
                Code:
                window.location.href = 'wunschseite.html';
                weiterleiten.

                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  geht nicht

                  print "<script> window.location.href = 'wunschseite.html'; </script>";


                  das liesst ajax jetzt aus und das kommt dann auf die html seite, aber er tut einfach nix. hmm muss ich das in der html viell so machen ?!

                  <?php
                  echo"<div id='hallo'></div>";
                  ?>

                  hmm versteh nich wieso das nicht funktioniert. danke für deine hilfe übrigens

                  achja, die html ist eh auch als php registriert.

                  Kommentar


                  • #10
                    print "<script> window.location.href = 'wunschseite.html'; </script>";
                    Das bringt imho wirklich nichts. Dies muss von deinem AJAX Script erledigt werden. Also AJAX ruft das PHP File auf und stellt anhand der Antwort fest, dass weitergeleitet werden muss. Dann window.location.href und den Wert der Zielseite angeben.

                    Gruss

                    tobi
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar


                    • #11
                      hmm ok is irgendwie klar, jetzt hab ich mal bissl getrickst, schau mal:

                      PHP-Code:
                      ...
                      interval = window.setInterval("leseDatei()",5000); 
                      interval = window.setInterval("leseDatei2()",5000); 
                      </script>

                      <div id="hallo"> 

                      <?PHP $a "<div id=\"hallo2\"></div>";
                      echo 
                      "$a";
                      if (
                      $a == "1  ") {
                      echo 
                      "ok";
                      print 
                      "<script>";
                      print 
                      " self.location='www.google.at';";
                      print 
                      "</script>";
                      }

                      ?>
                      jetzt bekommt $a den wert von der PHP, schreibt er auch auch raus mit
                      dem echo nur irgendwie geht er dann nicht weiter´.

                      ist irgendwas zu beachten bei :
                      $a = "<div id=\"hallo2\"></div>";

                      hmm

                      Kommentar


                      • #12
                        Warum willst du denn unbedingt Javascript-Code zurückgeben?

                        Gebe ein XML-Dokument (oder Text) zurück, der dein AJAX-Script erkennen lässt, dass es weiterleiten soll, sowie den Ziel-URL - und mach dann die Weiterleitung im Script.

                        AJAX kann (und sollte) etwas mehr bedeuten, als nur HTML-Code zurückzugeben und per innerHTML irgendwo reinzuklatschen ...
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar

                        Lädt...
                        X