Frieda: php-Variable an JavaScript (PHP-variable bekommt falschen Wert)

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

  1. 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