Sven Rautenberg: Variablenübergabe von PHP nach JavaScript

Beitrag lesen

Frage: Wie kann man
<?php
------> $X=1 -------Variable
?>
an
<script (JavaScript)>
document.write(------->"Hier die Variable + Ihrern Wert"------);
</script>

übergeben?

Simpel, wenn du das Prinzip erstmal verstanden hast.

Wenn du deine PHP-Seite aufrufst, ist zunächst mal PHP dran, und generiert die fertige HTML-Seite. Darin kann sich Javascript befinden.

Wenn du in PHP den Inhalt der Variablen $x kennst und an Javascript übergeben willst (auf dein Beispiel bezogen):

<? $x="Das ist der Text"; ?>
<script language="javascript" type="text/javascript">
<!--
<? echo "var variableausphp=$x"; ?>
document.write(variableausphp);
//-->
</script>

Du schreibst in PHP also Javascript-Code, der die notwendigen Variablen nochmal in Javascript definiert - und schon kennt dein Javascript auch das, was PHP vorher schon kannte.

Wenn du den Variableninhalt nur in PHP variabel brauchst, in Javascript aber als Konstante (z.B. ein Pfadname, den PHP feststellt, und den Javascript dann benutzt), dann darfst du den PHP-Inhalt natürlich auch gerne direkt schreiben:

<? $x="Das ist der Text"; ?>
<script language="javascript" type="text/javascript">
<!--
document.write('<?= $x ?>');
//-->
</script>

Resultat wird folgende HTML-Seite sein:

<script language="javascript" type="text/javascript">
<!--
document.write('Das ist der Text');
//-->
</script>

Das Problem ist dann: Wie kriegst du Javascript-Variablen wieder nach PHP?

Dazu mußt du zwingend eine neue PHP-Seite (das kann dieselbe sein) aufrufen. Deine Variablen steckst du zweckmäßigerweise in versteckte Formularfelder, die du vor dem Abschicken mittels Javascript füllst. Alternativ kannst du die Parameter auch in der URL mit übergeben. (also das mit dem Fragezeichen...) :)

- Sven Rautenberg