Erst HTML Code ausführen, dann PHP ausführen...
Jörg
- php
1 King^Lully1 rfb2 rob3 Cybaer3 Vinzenz Mai
Hi,
ich habe da eine Frage. Ich möchte gerne, das erst der html Teil ausgeführt wird. In diesem Fall die Textbox (Quelltext siehe unten!). Erst dann soll die PHP Routine ausgeführt werden. Theoretisch kann man dann mitverfolgen, wie sich die textbox mit Zahlen füllt. Ist das überhaupt möglich? Wenn ja, wie! Momentan ist es ja so, das der HTML Code erst erscheint, wenn die Routine abgearbeitet ist.
Jörg
<form name="text" method="get" action="test.php">
<textarea name="text" rows="8" cols="45">
<?php
$x=1;
while ($x<1000000)
{
echo $x."\r\n";
$x++;
}
?>
</textarea>
</form>
ich habe da eine Frage. Ich möchte gerne, das erst der html Teil ausgeführt wird. In diesem Fall die Textbox (Quelltext siehe unten!). Erst dann soll die PHP Routine ausgeführt werden.
PHP (der Server) liefert den HTML-Code aus (an den Browser), muss also _immer_ vor JavaScript oder so ausgeführt werden.
Moin
Ist das überhaupt möglich?
Nein!
PHP wird auf dem Server ausgeführt, danach wird die Seite an den Browser geschickt, der sie dann anzeigt.
Wenn du userseitig noch irgendwas dynamisch ändern willst kannst du das nur mit JavaScript machen.
Gruß
rfb
Hi!
ich habe da eine Frage. Ich möchte gerne, das erst der html Teil ausgeführt wird.
Das ist in keinem Fall möglich.
PHP ist eine serverseitige Sprache.
Wenn du mit deinem Browser eine PHP-Seite anforderst, dann parst der PHP-Interpreter auf dem Server diese Datei und erzeugt dann HTML-Code, der dann an deinen Browser geschickt wird.
Theoretisch kann man dann mitverfolgen, wie sich die textbox mit Zahlen füllt.
Wenn du das erreichen willst, dann mußt du mit einer clientseitigen Sprache arbeiten.
Da bleibt dir dann also eigentlich nichts anderes als JavaScript.
Mit JS läßt sich dein Vorhaben recht einfach realisieren.
Du solltest allerdings bedenken, daß es auch User gibt, die JS ganz bewußt deaktiviert haben oder gar nicht die Möglichkeit haben, JS einzusetzen.
Insofern solltest du deine Seite so gestalten, daß sie auch ohne JS noch nutzbar bleibt.
Schöner Gruß,
rob
Hi,
Theoretisch kann man dann mitverfolgen, wie sich die textbox mit Zahlen füllt. Ist das überhaupt möglich?
Ja - und zwar fast genauso, wie Du es geschrieben hast.
2 Änderungen:
<?php echo str_repeat(' ',1024); ?>
<form name="text" method="get" action="test.php">
<textarea name="text" rows="8" cols="45">
<?php
$x=1;
while ($x<10)
{
echo $x."\r\n";
flush();
sleep(1);
$x++;
}
?>
</textarea>
</form>
1. Manche Browser fangen erst an, wenn sie eine bestimmte Anzahl Zeichen haben (deswegen 1 KByte Leerzeichen vorneweg)
2. flush() sendet die Daten an den Browser.
3. sleep() wartet, damit Du die Ausgabe sehen kannst. Sonst ist der Server einfach zu schnell ... :)
Außerem müssen das Output-Buffering bzw. die Kompression deaktiviert sein (was meistens ohnehin der Fall ist). Ggf. also zu Beginn noch:
// Eventuell aktives Output-Buffering beenden
while(ob_get_length()!==FALSE) { ob_end_clean(); }
// Eventuell aktive Output-Kompression abstellen
@ini_set('zlib.output_compression',0);
Gruß, Cybaer
Hallo Jörg,
ich habe da eine Frage. Ich möchte gerne, das erst der html Teil ausgeführt wird. In diesem Fall die Textbox (Quelltext siehe unten!). Erst dann soll die PHP Routine ausgeführt werden. Theoretisch kann man dann mitverfolgen, wie sich die textbox mit Zahlen füllt. Ist das überhaupt möglich?
Die Funktionen zur Ausgabesteuerung könnten Dir vielleicht weiterhelfen. Probiere es aus. Ich als Browser hätte eventuell meine Schwierigkeiten, das darzustellen, was mir an HTML-Code bereits vorliegt - und das, was noch fehlt, zu erahnen.
Wenn ja, wie! Momentan ist es ja so, das der HTML Code erst erscheint, wenn die Routine abgearbeitet ist.
<form name="text" method="get" action="test.php">
<textarea name="text" rows="8" cols="45">
<?php
$x=1;
while ($x<1000000)
{
echo $x."\r\n";
Hier an dieser Stelle müsstest Du den Output Buffer leeren.
Beachte die Hinweise, an welchen Stellen sonst noch gepuffert werden kann -
und welchen Einfluss Du auf diese Pufferung hast.
Vielleicht klappt es ja.
Freundliche Grüße
Vinzenz
Vielleicht klappt es ja.
Da es noch kein angemerkt hat: Das mag zwar irgendwie gehen, wenn man Glück hat, aber man sollte schon die Finger davon lassen.
Wer sowas macht, isst auch HARIBO Konfekt.
Hallo Ludger,
Wer sowas macht,
ich mache doch sowas nicht ...
isst auch HARIBO Konfekt.
... aber ich esse durchaus gern mal Goldbären oder Happy Cola :-)
Nervennahrung muss sein!
Freundliche Grüße
Vinzenz
... aber ich esse durchaus gern mal Goldbären oder Happy Cola :-)
Cola trinken steigert wie z.B. auch Rauchen oder Kaffee trinken bekanntermassen die Denkleistung, wenn auch oft nur kurzfristig. Von Kokain und Heroin, die ähnliches versprechen, rate ich aber ab.
Fette Nahrung und lange schlafen dagegen sind das Denken betreffend Leistungskiller.
Freundliche Grüße
Dito.