Adventskalender - Datum ermitteln
Olk Okenheld
- javascript
Hi, ich hab einen Adventskalender programieren wollen, aber die Abfrage des Datums funktioniert nicht und ich hab keine Idee mehr, wie ich das hinbekommen könnte.
in meinem ersten Beispiel werden der Monat und das Jahr völlig ignoriert, man konnte theoretisch also schon am 24 Januar 2002 den kompletten Kalender sehen:
<script language="JavaScript" type="text/javascript">
<!--
var Datum=new Array()
Datum[1]="Kalender/01.html"
Datum[2]="Kalender/02.html"
Datum[3]="Kalender/03.html"
Datum[4]="Kalender/04.html"
Datum[5]="Kalender/05.html"
Datum[6]="Kalender/06.html"
Datum[7]="Kalender/07.html"
Datum[8]="Kalender/08.html"
Datum[9]="Kalender/09.html"
Datum[10]="Kalender/10.html"
Datum[11]="Kalender/11.html"
Datum[12]="Kalender/12.html"
Datum[13]="Kalender/13.html"
Datum[14]="Kalender/14.html"
Datum[15]="Kalender/15.html"
Datum[16]="Kalender/16.html"
Datum[17]="Kalender/17.html"
Datum[18]="Kalender/18.html"
Datum[19]="Kalender/19.html"
Datum[20]="Kalender/20.html"
Datum[21]="Kalender/21.html"
Datum[22]="Kalender/22.html"
Datum[23]="Kalender/23.html"
Datum[24]="Kalender/24.html"
var aktuelles_Datum = new Date();
var Tag = aktuelles_Datum.getDate();
var Monat = aktuelles_Datum.getMonth();
var Jahr = aktuelles_Datum.getYear();
if(Jahr < 999) Jahr+=1900;
function moreinfo(Jahr_Test){
if (Jahr>=2004)
window.location=moreinfo(Monat_Test)
else
alert("Du alter Pfuscher, jeden Tag nur ein Türchen ;-)")
}
function moreinfo(Monat_Test){
if (Monat=12)
window.location=moreinfo(Tag_Test)
else
alert("Du alter Pfuscher, jeden Tag nur ein Türchen ;-)")
}
function moreinfo(Tag_Test){
if (Tag>=Tag_Test)
window.location=Datum[Tag_Test]
else
alert("Du alter Pfuscher, jeden Tag nur ein Türchen ;-)")
}
// -->
in meinem 2. Script kann ich kein Türchen mehr öffnen, auch wenn ich das Datum meiner Systemuhr auf den 22.12.03 vorstelle nicht und ich hab keine Ahnung wie ich das noch drehen könnte:
<script language="JavaScript" type="text/javascript">
<!--
var Datum=new Array()
Datum[1]="Kalender/01.html"
Datum[2]="Kalender/02.html"
Datum[3]="Kalender/03.html"
Datum[4]="Kalender/04.html"
Datum[5]="Kalender/05.html"
Datum[6]="Kalender/06.html"
Datum[7]="Kalender/07.html"
Datum[8]="Kalender/08.html"
Datum[9]="Kalender/09.html"
Datum[10]="Kalender/10.html"
Datum[11]="Kalender/11.html"
Datum[12]="Kalender/12.html"
Datum[13]="Kalender/13.html"
Datum[14]="Kalender/14.html"
Datum[15]="Kalender/15.html"
Datum[16]="Kalender/16.html"
Datum[17]="Kalender/17.html"
Datum[18]="Kalender/18.html"
Datum[19]="Kalender/19.html"
Datum[20]="Kalender/20.html"
Datum[21]="Kalender/21.html"
Datum[22]="Kalender/22.html"
Datum[23]="Kalender/23.html"
Datum[24]="Kalender/24.html"
new Date("Monat Tag, Jahr Stunden:Minuten:Sekunden");
var anfang = new Date("12 1, 2003 00:00:00");
var ende = new Date("12 24, 2003 23:59:59");
var aktuell = new Date();
var Tag = aktuell.getDate();
var Sekunden = aktuell.getSeconds();
var Minuten = aktuell.getMinutes();
var Stunden = aktuell.getHours();
var Monat = aktuell.getMonth();
var Jahr = aktuell.getYear();
var Tag = aktuell.getDate();
var Monat = aktuell.getMonth();
var Jahr = aktuell.getYear();
if(Jahr < 999) Jahr+=1900;
function moreinfo(test){
if (aktuell>=anfang)
window.location=Datum[test]
else
alert("Du alter Pfuscher, jeden Tag nur ein Türchen ;-)")
}
// -->
</script>
</head>
Ich hoffe es kann mir jemand das ganz einfach erklären, sonst schein ich das nicht zu verstehen. :-(
Hallo,
javascript wird clientseitig ausgeführt - deswegen würde ich davon abraten (es lässt sich leicht austricksen und alle türchen schon heute öffnen) - ich rate zu einer serverseitigen ausführung wie sie zum beispiel mit php4 möglich ist.
Dort kann man zum beispiel so:
$time=time();
$akty=date("Y", $time);
$aktm=date("m", $time);
$aktd=date("d", $time);
nach dem Datum fragen und mir einer einfachen if Anweisung prüfen ob der Tag gerade ist oder ob er schon vorbei ist (Beispiel für den 24.)
if ($akty>="2003" && $aktm>="12" && aktd>="24")
{
echo "Wir feiern, dass jesus Christus vor vielen jahren als Gottes Sohn auf die Erde kam - dass sich Gott uns offenbart hat (und später damit wir (wenn wir wollen) mit ihm ewig leben können gestorben und auferstanden ist). <a href='http://www.jesus.de' target='_blank'>Und hier ein Link</a>.";
}
else
{
echo "Wolltest du schonmal vorschauen? ....";
}
als Seite sieht das ganze dann z.B. so aus: tag24.php (Man sollte natürlich die html Seiten 1 und 2 korrekt das heißt entsprechend den konventionen schreiben - und nicht die kurzfassung wie hier)
<? php
$time=time();
$akty=date("Y", $time);
$aktm=date("m", $time);
$aktd=date("d", $time);
if ($akty>="2003" && $aktm>="12" && aktd>="24")
{
echo "Wir feiern, dass jesus Christus vor vielen jahren als Gottes Sohn auf die Erde kam - dass sich Gott uns offenbart hat (und später damit wir (wenn wir wollen) mit ihm ewig leben können gestorben und auferstanden ist). <a href='http://www.jesus.de' target='_blank'>Und hier ein Link</a>.";
}
else
{
echo "Wolltest du schonmal vorschauen? ....";
}
?>
Hallo,
javascript wird clientseitig ausgeführt - deswegen würde ich davon abraten (es lässt sich leicht austricksen und alle türchen schon heute öffnen) - ich rate zu einer serverseitigen ausführung wie sie zum beispiel mit php4 möglich ist.
Ich weiß, dass man die Javascript Variante mit dem Vorstellen der Systemzeituhr austricksen kann, aber meine Server erlauben mir kein PHP, deswegen muss ich auf das schlechtere Javascript zurückgreifen, trotzdem danke.
hi,
was soll dieses doppelposting?
die frage hast du hier [pref:t=64425&m=366404] bereits gestellt, und auch schon mehrere tipps bekommen.
wenn noch etwas unklar ist, oder weitere rückfragen auftauchen, stelle diese bitte im ursprungsthread!
und lies bitte mal </faq/#Q-11>.
gruss,
wahsaga
Hi!
Unser lieber Dietmar hat auf seiner Page einen kleinen Workshop eingerichtet :
http://html:javascript@www.rabich.de/homepage/javascript_anwendungen/adventskalender/index.html
Jauh !