Timer in Homepage einbauen?

Cpt. Subtext

Lieutenant
Registriert
Apr. 2010
Beiträge
727
Hallo zusammen,

wie Ihr im titel des Themas ja bereits gesehen habt möchte ich einen Timer in meine Homepage einbauen.

Dieser soll ab 22. Mai rückwirkend hochzählen.
Bedeutet also heute würde dann auf der Homepage ein halbes Jahr stehen und weiter hochzählen.

Das ganze Format sollte in Tage:Stunden:Minuten zu sehen sein.

Jemand eine Idee wie ich das umsetze?
 
So, dass die ganze Zeit die Sekunden laufen (> Javascript), oder nur so, dass es beim seitenaufruf die aktuellen Tage/Stunden anzeigt (> PHP)?
 
Och wenn das Ding nebenher läuft wäre schön :)

@Matze051185

Danke dir für die Mühen, aber ich brauch nen Timer, keinen Countdown :)
 
Zuletzt bearbeitet:
Ich empfehle dir, zunächst auf eine server-seitige Ausgabe zu setzen, die ergänzend mit JavaScript in Echtzeit weitergeführt wird. Vorteil: Sollte jemand JavaScript deaktiviert haben, sieht er immerhin, wie weit der Timer beim Seitenaufruf war, und für alle anderen läuft der Timer dann freundlicherweise weiter.
 
PHP:
<html>
  <head>
    <script language="javascript" type="text/javascript">
      function zeit(id, jetzt)
      {
        seit = 1274486400 // Timestamp 22. Mai 2010, 00:00:00
        vergangen = jetzt - seit;

        sekunden = vergangen % 60;
        if(vergangen >= 60) { vergangen = Math.floor(vergangen/60);}
        minuten = vergangen % 60;
        if(vergangen >= 60) { vergangen = Math.floor(vergangen/60);}
        stunden = vergangen % 24;
        if(vergangen >= 24) { vergangen = Math.floor(vergangen/24);}
        tage = vergangen;

        document.getElementById(id).innerHTML = tage+":"+stunden+":"+minuten+":"+sekunden;
        jetzt++;
        setTimeout(function(){zeit(id, jetzt)}, 1000);
      }
    </script>
  </head>
  <body onload="zeit('counter', <?php echo time(); ?>);">

<?php
  function zeit($vergangen) {
    $sekunden = $vergangen % 60;
    if ($vergangen >= 60) { $vergangen = floor($vergangen/60);}
    $minuten = $vergangen % 60;
    if ($vergangen >= 60) { $vergangen = floor($vergangen/60);}
    $stunden = $vergangen % 24;
    if ($vergangen >= 24) {$vergangen = floor($vergangen/24);}
    $tage = $vergangen;
    return "$tage:$stunden:$minuten:$sekunden";
  }
?>
    <span id="counter"><?php echo zeit(time() - 1274486400); ?></span>
  </body>
</html>
 
Zuletzt bearbeitet:
Ah dass sieht vielversprechend aus aber irgendwo da drin ist en Fehler. Funktioniert noch nicht
 
Naja es funktioniert einfach nicht. Woran es liegt weiss ich nicht. Ich spreche kein php ^^
 
"Funktioniert nicht" ist keine Fehlermeldung ;)

Wird denn die Zeit angezeigt wenn du die Seite aufrufst und sie läuft dann nicht? Dann hast du Javascript deaktiviert. Mehr kann kaum sein.
 
Wenn ich die Seite aufrufe steht da:

60;
if ($differenz >= 60) { $differenz = floor($differenz/60);}
$minuten = $differenz % 60;
if ($differenz >= 60) { $differenz = floor($differenz/60);}
$stunden = $differenz % 24;
if ($differenz >= 24) {$differenz = floor($differenz/24);}
$tage = $differenz;
return "$tage:$stunden:$minuten:$sekunden";
}
?>



JavaScript ist aktiviert
 
Hast du die Datei bei dir auf dem Rechner getestet? Dann kanns nicht gehen, weil du einen Server brauchst, der PHP unterstützt (also auf deinen Webspace laden, der hoffentlich PHP hat); außerdem musst du die Datei als PHP-Datei speichern (dateiname.php).

Ansonsten könnte man den PHP-Teil weglassen - dann sieht aber jemand, der JS deaktiviert hat gar nichts. Der PHP-Teil sorgt dafür, dass man zumindest die aktuell vergangene Zeit sieht.
 
Zuletzt bearbeitet:
Ok dann teste ich das mal auf dem Server. PHP5 wird unterstützt :)

EDIT: So brauch nochmal kurz eure Hilfe. Bin jetzt soweit: (Und ja ist mein erster Upload)
Habe mit Filezilla die .php auf meinen Webspace aufgeschaltet (der bereits mir meiner Domain verbunden ist)

Wenn ich jetzt allerdings auf die Domain gehe kommt immernoch der blöde Platzhalter von United-Domains. Was genau mache ich Falsch? (.php ist auch im richtigen Domain Ordner)

Muss ich dazu noch irgen ne .html Datei hochladen die das ganze verknüpft?
(Ja ich weiss bin ein vollnoob ^^)
 
Zuletzt bearbeitet:
Die Seite, die beim Aufruf der Domain www.domain.de automatisch angezeigt wird, heißt üblicherweise index.html oder index.php (kann auch anders heißen, sollte aber irgendwo beschrieben sein). Jede andere Seite muss man mit dem Dateinamen aufrufen (www.domain.de/datei.php).
 
Supercool funktioniert. Vielen dank dir Mr. Snoot.

Wie bekomm ich den Text noch en bissel größer und in die Mitte der Seite?
 
Cpt. Subtext schrieb:
Ich spreche kein php ^^
Wie siehts denn mit HTML und CSS aus? ;)


Füge das nach <head> ein:
HTML:
    <style type="text/css">
      body { text-align:center; }
      span#counter { font-size:40px; font-family:Arial; }
    </style>
 
HTML ja, der Rest ist in Arbeit :P

Hast mir auf jeden Fall sehr geholfen. Jetzt weiss ich wenigstens schonmal für die Zukunft wie man das Zeug hochlädt usw..
 
Mr. Snoot schrieb:
Wie siehts denn mit HTML und CSS aus? ;)


Füge das nach <head> ein:
HTML:
    <style type="text/css">
      body { text-align:center; }
      span#counter { font-size:40px; font-family:Arial; }
    </style>

Falls ich das noch ein wenig ändern dürfte:
Code:
body { text-align: center; }
#counter { font: 40px Arial, sans-serif; }

:)
 
Zurück
Oben