JavaScript über PHP-Seite includen

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von thrill-house, 20.06.2006.

  1. thrill-house

    thrill-house Thread Starter MacUser Mitglied

    Beiträge:
    554
    Zustimmungen:
    0
    MacUser seit:
    02.08.2005
    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.
     
  2. m-schmidt

    m-schmidt MacUser Mitglied

    Beiträge:
    364
    Zustimmungen:
    1
    MacUser seit:
    18.01.2006
    ich würde sagen das:

    sollte so aussehen:

     
  3. b.legt210

    b.legt210 MacUser Mitglied

    Beiträge:
    81
    Zustimmungen:
    4
    MacUser seit:
    01.03.2006
    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..
     
  4. m-schmidt

    m-schmidt MacUser Mitglied

    Beiträge:
    364
    Zustimmungen:
    1
    MacUser seit:
    18.01.2006
    ... 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 ;-)
     
  5. thrill-house

    thrill-house Thread Starter MacUser Mitglied

    Beiträge:
    554
    Zustimmungen:
    0
    MacUser seit:
    02.08.2005
    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.
     
  6. thrill-house

    thrill-house Thread Starter MacUser Mitglied

    Beiträge:
    554
    Zustimmungen:
    0
    MacUser seit:
    02.08.2005
    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
     
  7. moses_78

    moses_78 MacUser Mitglied

    Beiträge:
    1.322
    Zustimmungen:
    22
    MacUser seit:
    08.04.2005
    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;
     
Die Seite wird geladen...

Diese Seite empfehlen