JavaScript über PHP-Seite includen

thrill-house

thrill-house

Aktives Mitglied
Thread Starter
Dabei seit
02.08.2005
Beiträge
594
Reaktionspunkte
0
Servus,
hab ein Problem. Ich habe eine datum.php Seite die in die index.php included ist. Sie enthält Code der das Datum und die Uhrzeit anzeigt und ausgibt ob die Pizzafiliale im Moment geöffnet hat oder nicht.
Jetzt zum eigentlichen Problem.
Ich möchte eine Uhr haben die läuft, die also eine laufende Sekundenstelle hat. Da ich aber nicht in jede Seite das JavaSkript einfügen will, möchte ich dies über die echo-funktion von PHP einfügen lassen. Somit habe ich eine einzelne datum.php Datei in der alles drin ist. Kann mir jemand sagen wieso es nicht geht? Die index.php wird bis zu dem Zeitpunkt geladen wo das PHP-Skript eingefügt wird. Ohne das JavaScript funktioniert es jedoch, mit nicht.

Hier der Code ab dem JavaScript

Code:
 echo "<script Language=\"JavaScript\">\n";
        echo "<!-- vor alten Browsern verstecken\n";
        echo "function Uhr_anzeigen() {\n";
        echo "var Datum = new Date();\n";
        echo "//aktuelle Uhrzeit\n";
        echo "var std = Datum.getHours();\n";
        echo "var min = Datum.getMinutes();\n";
        echo "var sec = Datum.getSeconds();\n";
        echo "Zeit = ((std < 10) ? \" 0\" : \" \") + std;\n";
        echo "Zeit += ((min < 10) ? \":0" : \":\") + min;\n";
        echo "Zeit += ((sec < 10) ? \":0\" : \":\") + sec;\n";
        echo "document.uhr.zeit.value = Zeit;\n";
        echo "timerid = setTimeout("Uhr_anzeigen()",1000); }\n";
        echo "// -->\n";
        echo "</script>\n";
        echo "<form NAME=\"uhr\" class=\"uhr\">
<div><input TYPE=\"text\" NAME=\"zeit\" SIZE=\"13\" VALUE>\n";
        echo "<script LANGUAGE=\"JavaScript\">\n";
        echo "<!-- \nUhr_anzeigen(); \n//-->\n";
        echo "</script></div></form>\n";
        echo "<br>\n";

Vielen Dank für eure Hilfe.
 
Zwei Zeilen sind falsch:

1. echo "Zeit += ((min < 10) ? ':0' : ':') + min;\n";
und
2. echo "timerid = setTimeout('Uhr_anzeigen()',1000); }\n";

mal davon abgesehen, dass der Code furchtbar aussieht..
 
mal davon abgesehen, dass der Code furchtbar aussieht..

... das außerdem. Vorschlag: Pack das Javascript in eine separate .js Datei und binde die dann überall mit PHP echo ein. Dann lässt sich das auch leichter warten ;-)
 
Ich will keine schönheitswettbewerb mit dem Code gewinnen, er soll nur das tun was ich programmiert habe :)

Danke für die Anregungen, werds mal probieren.
 
Ok is wahrscheinlich doch etwas schwachsinnig gewesen. Machs jetzt doch nur mit PHP wie zuvor auch. Das merken die Leute eh nicht wenn die Minute nicht weiterläuft, da man sich sowieso nicht länger als ne Minute auf der Seite aufhält...

Trotzdem danke
 
Bei derartig langen Strings sind Heredocs sinnig. Kleines
Beispiel:
Code:
$str = <<<EOD
Beispiel eines Strings
über mehrere Script-Zeilen
durch Gebrauch der heredoc-Syntax.
EOD;
 
Zurück
Oben Unten