Montag, 8. Januar 2007
Serverseitiges Scripting, z.B. mittels PHP, ist in der Regel schnell, sicher, und ausreichend mächtig.
Manche Dinge müssen aber clientseitig gemacht werden. Dann ist Javascript die Sprache der Wahl.
Und wenn in einer Anwendung beide Verfahren zusammen arbeiten sollen, taucht häufig die Frage auf, wie Variablen von PHP an Javascript übergeben werden können.
Es gibt eine verblüffend einfache Lösung für dieses Problem:
Schreibe dein Javascript in eine PHP Datei, und liefere den Inhalt als Javascript aus.
Klingt kompliziert? Ist es aber nicht.
Ein einfaches Beispiel:
1. Gib deiner “Javascript"-Datei die Dateiendung .php, damit der Server weiß, daß sie von PHP geparst werden muss. Also z.B. meinscript_js.php
2. An den Anfang dieser Datei kommt:
<?php
header(’Content-Type: text/javascript’);
include("serverscript.php");
?>
Damit sagst du dem Server, dass er die Datei als Javascript ausliefern soll, und includest die PHP-Datei serverscript.php mit den zu übergebenden Variablen, damit sie im folgenden zur Verfügung stehen.
Das war’s schon.
Du kannst jetzt innerhalb des Javascript-Codes PHP einfügen. Dazu schaltest du einfach auf PHP um, wie innerhalb einer HTML-Datei auch. Also z.B.:
… ganz normaler Javascript Code in Javascript Syntax …
<?php echo “Hallo Welt"; ?>
… weiter im Javascript Code …
Achtung!
genau dieses Beispiel wird nicht funktionieren. Warum nicht? Weil dein Script ja Javascript ausliefert. Das ausgelieferte Javascript beinhaltet jetzt die Zeile “Hallo Welt". Das ist ungültige Syntax. Um per Javascript etwas in eine HTML Seite zu schreiben, gibt es z.B. den Befehl document.write
Richtig wäre also:
<?php echo “document.write (’Hallo Welt’)"; ?>
Alles klar?
Und nach dem selben Muster kannst du auch auf eine PHP-Variable zugreifen (die in der Datei serverscript.php definiert wurde), z.B.:
… ganz normaler Javascript Code in Javascript Syntax …
var irgendwas = <? echo $irgendwas; ?>
… weiter im Javascript Code …