JavaFunktion-Anweisung in PHP
Markus
- php
Hallo zusammen,
kann man in PHP sowas definieren?
<?php
if ($var1 != $var2)
{
echo "<script type="text/javascript"> <!-- init(); //--></script>";
}
?>
Ich möchte die Ausführung der JS-Anweisung an eine Bedingung knüpfen.
Vielen Dank im voraus.
hallo,
kann man in PHP sowas definieren?
echo "<script type="text/javascript"> <!-- init(); //--></script>";
Selbstverständlich kann man "sowas" machen. Warum fragst du? Was ist denn passiert, als du es ausprobiert hast? Welche Fehlermeldung hast du bekommen?
Grüße aus Berlin
Christoph S.
Hi Christoph
Selbstverständlich kann man "sowas" machen. Warum fragst du? Was ist »» denn passiert, als du es ausprobiert hast? Welche Fehlermeldung hast »» du bekommen?
Ich habe zwar keine Fehlermeldung bekommen, aber das JS Skript lief nicht. Wenn das JS Skript aus der PHP Anweisung "raus nehme", läuft das Skript. $var1 und $var2 habe ich geprüft, sind unterschiedlich.
Grüsse
Markus
Hi Christoph S.,
ich habe den Fehler gefunden. Man darf die JS Anweisung nicht in eine Zeile schreiben.
so geht es:
echo "<script type="text/javascript"><!--
init();
//--></script>";
Im einer "normalen" HTML darf man auch die JS-Anweisung nicht in eine Zeile schreiben.
Bye
Markus
Moin
Im einer "normalen" HTML darf man auch die JS-Anweisung nicht in eine Zeile schreiben.
seit wann?
Gruß
rfb
Hi rfb,
wenn ich
<script type="text/javascript"><!-- init(); //--></script>;
in eine Zeile schreibe, dann wird das Skript bei mir nicht ausgeführt.
Dabei ist es egal ob die Anweisung in einer HTML oder einer PHP steht.
Markus
Moin
wenn ich
<script type="text/javascript"><!-- init(); //--></script>;
in eine Zeile schreibe, dann wird das Skript bei mir nicht ausgeführt.
das besagt aber nichts darüber, ob das "erlaubt" ist.
Lass doch einfach mal die (überflüssigen) HTML-Kommentare weg, dann sollte das klappen.
Gruß
rfb
Ich grüsse den Cosmos,
<script type="text/javascript"><!-- init(); //--></script>;
^^
Alles, was hiernach kommt, ist für PHP ein Kommentar, somit wird alles danach nicht mehr angezeigt.
Das du keine Fehlermeldung bekommst, dürfte ein dummer Zufall sein.
Möge das "Self" mit euch sein
echo $begrüßung;
<script type="text/javascript"><!-- init(); //--></script>;
^^
Alles, was hiernach kommt, ist für PHP ein Kommentar, somit wird alles danach nicht mehr angezeigt.
Diese Aussage stimmt nicht. Solange man sich in einem String befindet - was hier der Fall ist - werden Kommentarzeichenfolgen oder auch ein ?> nur als ganz normale Zeichen innerhalb eines Strings betrachtet.
echo "$verabschiedung $name";
Ich grüsse den Cosmos,
Diese Aussage stimmt nicht. Solange man sich in einem String befindet - was hier der Fall ist - werden Kommentarzeichenfolgen oder auch ein ?> nur als ganz normale Zeichen innerhalb eines Strings betrachtet.
Ascha auf mein Haupt. Ich hab mich irretieren lassen vom Highlighting des PS-Pad, das auch ein // innerhalb eines Strings als Kommentar kennzeichnet :(
Möge das "Self" mit euch sein
Hallo,
kann man in PHP sowas definieren?
<?php
if ($var1 != $var2)
{
echo "<script type="text/javascript"> <!-- init(); //--></script>";
}
?>
ja, das geht. Die Anweisung wird nur geschrieben, wenn die Bedingung in if stimmt.
Mir wäre folgendes lieber (Geschmackssache):
<?php
$initCondition = ($var1 == $var2) ? 'false' : 'true';
echo '<script type="text/javascript">init(' . $initCondition . ');</script>';
?>
(Ohne Gewähr auf Schreibfehlerfreiheit.) So wird die init-Funktion immer aufgerufen, aber in Abhängigkeit von der Bedingung mit verschiedenen Werten (hier boolean: true || false).
Es lässt sich wahrscheinlich auch noch anderes optimieren (z.B. Trennung von html und js), aber das ist ja nicht Deine Frage.
Gruß
Olaf