php Seite über javascript ausgeben

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

  • php Seite über javascript ausgeben

    Hallo,
    da ich über einen Beitrag im php Forum nicht weitergekommen
    bin, hier nun die Frage an die Javascript Spezialisten.
    Ich habe eine php Datei, die eine Ausgabe der der im Chat
    befindlichen User anzeigt. Sie funktioniert. Da ich aber nur
    die Möglichkeit habe sie in eine HTML Seite einzufügen und
    das mit php nicht geht, möchte ich diese über

    <script language="JavaScript" src="http://www.domain.de/chatinfos.php"></script>

    in der HTML Seite anzeigen lassen. Bei meinem Forum hat
    das funktioniert.
    Nun schaffe ich es nicht die php-Datei so umzuschreiben,
    das sie die Ausgabe über document write ausgibt.

    Dies ist die php Datei die für Javascript modifiziert werden müßte:
    <?

    echo "
    <table>
    <tr>
    <font face=\"arial\" size=\"1\" color=\"#cc0000\"><b>Zur Zeit im Chat:</b>
    </tr>";

    exec("find userlist/ -amin 1 -o -amin 0",$retAr);
    $numusers = sizeof($retAr);
    for ($i=0;$i<$numusers;$i++)

    if ($retAr[$i] != ""): echo "<b><tr><font face=\"arial\" size=\"1\" color=\"#cc0000\">".ereg_replace("userlist/","",$retAr[$i]).",
    </tr></b>";
    endif;

    ?>



    Die ist eine modifizierte Datei des Forums, bei der das funktioniert.(So ähnlich muß das dann im oberen Script aussehen):
    <?php
    $file=file("http://www.domain.de/forum/index.php");
    for ($a=0;$a<100;$a++) {
    $inhalt = htmlspecialchars($file[$a]);
    if (stristr($inhalt ,"Wer ist online")) {
    $online = strip_tags($file[$a+1]);
    }
    if (stristr($inhalt ,"Das Forum hat")) {

    $thread = $threadsandpost[0];
    }
    }
    ?>
    document.write('<P ALIGN=RIGHT><FONT COLOR="#FFFFFF" SIZE="-2" FACE="Arial,Helvetica,Univers,Zurich BT"><?php echo $thread ?>');


    Kann da jemand helfen?

    Gruß
    Heiner

  • #2
    Code:
    <? // document write ist außerhalb PHP Parser, ist aber Geschmacksache
    document.write('<table><tr><th>Zur Zeit im Chat:</th></tr> 
    <?
    exec("find userlist/ -amin 1 -o -amin 0",$retAr); 
    for ($i=0;$i<sizeof($retAr);$i++) { 
    	if ($retAr[$i] != "") { 
    		print "<tr><td>".ereg_replace("userlist/","",$retAr[$i])."</td></tr>"; 
    	}
    } 
    ?>
    </table>');

    Kommentar


    • #3
      Vielen Dank für die Mühe,
      aber es klappt nicht.
      Keine Ausgabe, im Quelltext steht auch nichts.

      Ist da vielleicht nur ein kleiner Vertipper?

      Gruß
      Heiner

      Kommentar


      • #4
        Ich habe das ?> vergessen, was einen Parse Error zur Folge hätte haben müssen.
        Code:
        <? // document write ist außerhalb PHP Parser, ist aber Geschmacksache
        ?>
        document.write('<table><tr><th>Zur Zeit im Chat:</th></tr> 
        <?
        exec("find userlist/ -amin 1 -o -amin 0",$retAr); 
        for ($i=0;$i<sizeof($retAr);$i++) { 
        	if ($retAr[$i] != "") { 
        		print "<tr><td>".ereg_replace("userlist/","",$retAr[$i])."</td></tr>"; 
        	}
        } 
        ?>
        </table>');

        Kommentar


        • #5
          Nein, das war es leider nicht.
          Es gab auch kein Parse error, die Seite war einfach weiß.
          Funktioniert nicht.
          Gruß
          Heiner

          Kommentar


          • #6
            Bist Du Dir sicher, daß Du das Skript korrekt aufrufst?
            <script language="JavaScript" src="http://www.domain.de/chatinfos.php"></script>


            Kommentar


            • #7
              Absolut sicher !
              wenn ich die php soweit "leere" das nur
              die Ausgabe
              Zur Zeit im Chat
              erfolgen soll, funktioniert das in beiden
              Variante, mit <? echo ?> und ohne,
              Wobei ich jedoch das oberste <? und das
              lezte ?> weglassen muss. Document.write darf
              nicht in die php Klammern <? ?>, siehe funktionierendes Beispiel oben für das Forum.

              Nur wenn ich dann den inneren Teil wieder einfüge, gibt es keine Ausgabe.

              [Editiert von Heiner am 05-02-2002 um 08:55]

              Kommentar


              • #8
                Original geschrieben von Heiner
                Da ich aber nur
                die Möglichkeit habe sie in eine HTML Seite einzufügen und
                das mit php nicht geht, möchte ich diese über [...]
                was spricht denn gegen ein 'include' in php?
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Dann müßte man die gesamte Datei irgendwie in
                  eine Variable packen. Das kann ich nicht.
                  Und mit Javascript habe ich das eben schon
                  mal hinbekommen, siehe Beispiel oben Forum.

                  Kommentar


                  • #10
                    Original geschrieben von Heiner
                    Dann müßte man die gesamte Datei irgendwie in
                    eine Variable packen. Das kann ich nicht.
                    nein, da hast du was falsch verstanden. mit php include kannst du komplette dateien einbinden, keine variablen!
                    mach das was du einbinden willst einfach alles in eine datei rein, und include diese.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Dann muß die Datei wo ich den include mache aber
                      auch eine php Datei sein, sonst wird diese nicht
                      geparsed.
                      Ich war schon so weit, daß ich die main.html
                      umbenannt habe in in main.php und dann die Datei included habe:
                      include "users2.php"

                      Lief trotdem nicht.
                      Als Ausgabe bekomme ich immer ein Semikolon ;

                      [Editiert von Heiner am 06-02-2002 um 14:56]

                      Kommentar


                      • #12
                        also wenn auf deinem Server PHP läuft, dann kann ich wahsaga nur zustimmen. Ein include müßte funktionieren. Dann hast du irgendwo anders einen Fehler. Auch hands Skript müßte funktionieren.

                        Kommentar


                        • #13
                          So, habe das nach vielen Versuchen hinbekommen:

                          <?
                          exec("find userlist/ -amin 1 -o -amin 0",$retAr);
                          $numusers = sizeof($retAr);
                          for ($i=0;$i<$numusers;$i++) {

                          $test .= " ".ereg_replace("userlist/","",$retAr[$i]).", ";
                          }

                          ?>
                          document.write ('<?php echo $test ?> ');


                          Aufruf in HTML Seite:

                          <script language="JavaScript" src="../chat/users5.php"></script>

                          Man merkt jedoch, das sich die Seite dadurch etwas langsamer
                          aufbaut, habe das probiert mit Javascript ein/aus.

                          Auf der anderen Seite, wenn ich das über include hinbekommen
                          hätte, wäre ja aus der main.html eine main.php geworden.
                          Wahrscheinlich hätte das dann auch etwas länger gedauert,
                          weil die ja dann durch den Parser läuft, oder?

                          Vielen Dank für die Mithilfe.

                          Heiner

                          Kommentar

                          Lädt...
                          X