• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Mit AJAX Ausgaben eines PHP Scripts anzeigen

SpeedyX

Mitglied
Hi Leute,

habe mir vor kurzen eine WakeOnLAN Seite in PHP geschrieben und sie auf meinem Raspberry Pi gehostet.
Die Seite gibt außer derdem zusätzlich noch einen Log aus. Die Seite prüft nämlich, nach dem das Magic Packet verschickt wurde ob der Rechner auch gestartet ist. Da dies bei mir aber leider erst nach ca. 40s der Fall ist, dauert es auch 40s bis die Seite geladen wurde. Nun wollte ich halt fragen, ob es möglich ist die Ausgabe mit AJAX anzeigen zu lassen, damit die Seite halt direkt angezeigt wird und die Log Ausgaben dann nach der Reihe erst angezeigt werden, wenn es soweit ist.
Hab danach auch schon gegooglet, leider habe ich nie das gefunden was ich gesucht habe, vielleicht auch weil ich nicht richtig ausgedrückt habe was ich will. Ich hoffe ihr habt mir jetzt verstaden. ;)

Mein Quelltext:

index.php

functions.php

Dann gibt es noch eine config.php, in der nur die folgenden Variablen definiert sind:
$website_title
$website_charset
$passwordcheck
$Benziuminator_mac
$Benziuminator_ip
$broadcast

Ich würde mich freuen wenn mir jemand weiterhelfen könnte ;)

LG

SpeedyX
 
Klar ist das möglich. Du musst per AJAX nur einfach die Datei ansprechen (und somit aufrufen) welche dann die Ausgabe erzeugt.
 
Ok, habe das jetzt erstmal testweise ausprobiert und der Aufruf funktioniert soweit.

index.php
wakeup.php

Nun habe ich jedoch noch drei Fragen:

1. Wenn ich keinen Wert für das Passwort eingebe, müsste der Wert des Passworts laut der dritten Zeile in der wakeup.php doch "testtest" sein, stattdessen hat die Variable $password aber dann gar keinen Wert. Warum?
2. Ich gebe die echo's des PHP Scripts ja in einem div Feld aus. Ist es dann noch möglich einen Zeilenumbruch auszugeben? Wenn ich echo "<br>"; ausführe, steht im Feld <br> anstatt dass dort ein Zeilenumbruch ist. Was kann ich stattdessen verwenden?
3. Wenn ich in mein PHP Script nun beispielsweise sleep(5); eingebe, dann müssen erst die 5 Sekunden ablaufen bis das, was vorher mit echo ausgegeben wurde ausgegeben wird. Ist ja auch logisch, da PHP ja zuerst immer alles verarbeitet und erst ganz zum Schluss ausgibt. Kann ich es irgendwie so hinbekommen, dass die Ausgaben mit echo direkt ausgegeben werden, wenn sie an der Reihe sind?
Also Beispiels-code:
<?php
echo "abc";
sleep(5);
echo "def";
?>

Wäre es da jetzt irgendwie möglich, dass er abc ausgibt, dann 5 Sekunden wartet und dann def ausgibt ohne alles in einzelne PHP Scripte zu schreiben und dann nacheinander aufzurufen.

LG

SpeedyX
 
Zurück
Oben