Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
php Seite über javascript ausgeben [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
php Seite über javascript ausgeben


 
Heiner
04-02-2002, 20:24 
 
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

 
hand
04-02-2002, 21:11 
 
<? // 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>');

 
Heiner
04-02-2002, 23:08 
 
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

 
hand
05-02-2002, 07:22 
 
Ich habe das ?> vergessen, was einen Parse Error zur Folge hätte haben müssen.

<? // 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>');

 
Heiner
05-02-2002, 07:52 
 
Nein, das war es leider nicht.
Es gab auch kein Parse error, die Seite war einfach weiß.
Funktioniert nicht.
Gruß
Heiner

 
hand
05-02-2002, 08:18 
 
Bist Du Dir sicher, daß Du das Skript korrekt aufrufst?
<script language="JavaScript" src="http://www.domain.de/chatinfos.php"></script>

 
Heiner
05-02-2002, 08:49 
 
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]

 
wahsaga
05-02-2002, 09:00 
 
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?

 
Heiner
05-02-2002, 17:00 
 
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.

 
wahsaga
06-02-2002, 14:31 
 
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.

 
Heiner
06-02-2002, 14:47 
 
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]

 
BrainBug
07-02-2002, 08:27 
 
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.

 
Heiner
07-02-2002, 14:47 
 
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:41 Uhr.