php-Variable an JavaScript (PHP-variable bekommt falschen Wert)
Frieda
- php
Guten Tag zusammen!
Ich sitz seit Tagen vor dem Problem, wie ich eine PHP-Variable an ein JavaScript übergebe. Es wird ein Wert zwar an die Java Script übergeben, dieser aber entspricht nicht dem Wert der PHP - Variablen!
echo "<A HREF=javascript:$datei>$datei</a><br>";
bzw.
echo "<A HREF=javascript:format($datei)>$datei</a><br>";
echo "<script language=javascript>";
echo " alert (datei);"; //zur Überprüfung und Fehler wird erkannt
echo "function format(datei) {";
echo "alert (datei);";
echo "var wshell = new ActiveXObject("WScript.Shell");";
echo " var befehl = "c:\cmd.exe /C //UNC/+ datei +".bat" ";
echo " wshell.run(befehl);";
echo " }";
echo "</script>" ;
Der Wert der übergeben werden soll ist eine Artikelnummer!!!
Vielen Dank schon im voraus
Gruss
Frieda
Ich sitz seit Tagen vor dem Problem, wie ich eine PHP-Variable an ein JavaScript übergebe. Es wird ein Wert zwar an die Java Script übergeben, dieser aber entspricht nicht dem Wert der PHP - Variablen!
PHP hat mit Javascript erstmal garnichts zu tun. Das PHP-Skript läuft auf dem Server und erzeugt eine HTML-Datei inklusive des eingebauten Javascript-Codes.
Ist das PHP-Skript abgelaufen, wird diese HTML-Datei an den Browser geschickt, der nimmt die HTML-Daten auseinander und führt schlussendlich den Javascript-Code aus.
Zwischen PHP und Javascript steht also mindestens die HTML-Datei, und in der Regel noch einige zigtausend Kilometer Kabel.
Vielleicht erkennst Du das am besten, wenn Du dir die "PHP-Seite" mal vom Browser als Quelltext anzeigen lässt. Dort wirst Du keinen PHP-Code finden, nur HTML und Javascript.
Also: Du möchtest den Inhalt der PHP-Variablen $datei in Javascript nutzen?
echo "<a href=javascript:format("$datei")>". htmlentities($datei) ."</a><br>";
Das sieht dann im Browser-Quelltext-Fenster so aus:
<a href=javascript:format("mein_datei_variablen_inhalt")>mein_datei_variablen_inhalt</a><br>
Weiterhin:
echo "<script language=javascript>";
Javascript-Bereiche besser folgendermaßen einleiten:
<script type="text/javascript">
echo " alert(datei);"; //zur Überprüfung und Fehler wird erkannt
Welcher Fehler? Bedenke, daß es hier keine PHP-Variable $datei gibt und eine Javascript-Variable datei hier wahrscheinlich
noch garnicht bekannt ist.
echo "function format(datei) {";
echo "alert (datei);";
echo "var wshell = new ActiveXObject("WScript.Shell");";
echo "var befehl = "c:\cmd.exe /C //UNC/+ datei +".bat" ";
Hier hast Du den Fehler, daß Du die Javascript-Variable datei garnicht einbindest, sondern das Wort datei. Außerdem kommst Du anscheinend mit den Anführungszeichen durcheinander. Auch hier: Schau Dir das Ergebnis des PHP-Befehls echo im Browser-Quellcode-Fenster an.
Richtig:
echo "var befehl = "c:\cmd.exe /C //UNC/" + datei + ".bat";
echo " wshell.run(befehl);";
echo " }";
echo "</script>" ;
Der Wert der übergeben werden soll ist eine Artikelnummer!!!
Warum heißt er dann datei?
Gruß,
soenk.e