• Hallo Besucher!

    Du bist neu im Forum? Dann registriere dich hier, um Diskussionen beizutreten oder eigene Themen zu erstellen. Für die Registrierung ist es erforderlich, dass du einen Spielaccount bei Die Stämme hast.

    Andernfalls kannst du dich hier direkt einloggen.

    Falls du dein Passwort vergessen hast, kannst du hier ein neues Passwort anfordern.

HTML: Link erst an einem bestimmten Datum freigeben

DeletedUser

Gast
Guten Abend allerseits,

progge grade in HTML nen Adventskalender, dessen Türchen natürlich erst am jeweiligen Tag den dazugehörigen Link freigeben sollen. Sprich, so etwas wie ne Zeitschaltuhr. Hatte mal nen Quelltext gefunden, allerdings war der nicht so, dass ich wusste, was ich zu tun hatte. Kann mir einer n paar Zeilen schreiben, bzw. n Tipp wo ich dazu was finde?

phil
 

DeletedUser

Gast
PHP:
<?php
if(date('d.m.Y', time()) == '24.12.2010') {
 echo '<a href="">Türchen Nr. 24</a>';
}
?>

So könnte man es beispielsweise mit PHP machen. Aber lass den Thread von 'nem Mod verschieben.^^
 

DeletedUser

Gast
Oh, falsches Forum? :S Sry, ich mach mich auf der Suche nach nem Mod.
 

DeletedUser

Gast
Per HTML wird das wohl nicht möglich sein.

Mit JavaScript müsste es gehen.

Ich habe es (Beim DS Adventskalender) so gelöst, sind nur ein paar Schnipsel:

Config-Debug Mode (um alle Tage aufrufen zu können):
PHP:
/*
 * Debug Mode
 */ 
$debug_mode = TRUE; // Debug Mode, TRUE = active, FALSE = inactive
define("debug_day", "all"); // all (access to all days) or day (1-24) 
define("debug_month", 12); // 12 - december
/*
 * Debug Mode
 */

$cur_day (also den heutigen Tag) bestimmen:
PHP:
$cur_day = date(j);
$cur_month = date(n);
if ($debug_mode == TRUE){
if (debug_day == "all"){
$cur_day = $day_id_get;
$cur_day_desc = 'DEBUG_MODE_ON';
}else{
$cur_day = debug_day;
}
$cur_month = debug_month;
}

Und schließlich die Kontrolle beim öffnen:
$day_id_get ist der Tag, der aufgerufen wird. Also die Türchen-Nummer.
PHP:
if ($cur_day == $day_id_get){
// aufrufen erlaubt, Tür anzeigen
}else{
// nicht erlaubt, fehlermeldung
}

Wenn du kein PHP verwenden kannst, musst du wohl auf JavaScript zurück greifen.

Edit: Schreib mir halt eine PN, wenn du noch was brauchst. ;-)
 

DeletedUser

Gast
Ist soweit korrekt. Dennoch ist JS einsehbar, d.h. richtig verstecken kann man den link nicht.

Überleg doch einmal. Wenn beim Aufruf der Seite (Also den Link im Kalender) überprüft wird, ob heute wirklich der passende Tag für dieses Türchen ist, hilft einem der Link nicht weiter.
 

DeletedUser61033

Gast
Du kannst das aber manipulieren:
- Javascript ausschalten + Überprüfung fälschen.
- Zeit am PC verstellen

Es ginge also schon über JS, aber für ne schöne Lösung brauchste ne Serverseitige Sprache.

mfg
Heinzel
 

TimLim

Gast
Überleg doch einmal. Wenn beim Aufruf der Seite (Also den Link im Kalender) überprüft wird, ob heute wirklich der passende Tag für dieses Türchen ist, hilft einem der Link nicht weiter.

Du kannst das aber manipulieren:
- Javascript ausschalten + Überprüfung fälschen.
- Zeit am PC verstellen

Es ginge also schon über JS, aber für ne schöne Lösung brauchste ne Serverseitige Sprache.

mfg
Heinzel

genau das meine ich.
JS kann zwar die sachen ausblenden, bzw erst einblenden o.ä. aber das js kann ich einsehen, und sogar verändern.

Zu deinem Beispiel:
JS verläuft Clientseitig. Das heißt, es hat die Uhr von meinem PC.
Ich stelle meine Uhr um und zack haben wir heute den 24.12 ;)
 

DeletedUser

Gast
Zu deinem Beispiel:
JS verläuft Clientseitig. Das heißt, es hat die Uhr von meinem PC.
Ich stelle meine Uhr um und zack haben wir heute den 24.12 ;)

In meinem Beispiel habe ich es durch PHP, also Serverseitig gelöst.
Ich habe nie gesagt, dass JavaScript dafür die ideale Sprache ist. Nur wenn weder PHP noch andere Serverseitige Sprachen zur Verfügung stehen (gibt es durchaus noch, bei solchen privaten Web-Packs), ist die JavaScript "Lösung" besser als gar keine Lösung. Darum habe ich auch keine Beispiele mit JavaScript angeführt. ;-)
 

DeletedUser

Gast
@Perenolde: Thx, nur, steck ich den code jetzt einfach so hintereinander da rein oder wie? Kenn mich da nicht aus...Und ihr anderen, ich glaube nicht, dass jemand so n Aufwand machen wird, weil er meinen Kalender unbedingt öffnen will - es gibt ja nichts zu gewinnen ;)
 

TimLim

Gast
@Perenolde: Thx, nur, steck ich den code jetzt einfach so hintereinander da rein oder wie? Kenn mich da nicht aus...Und ihr anderen, ich glaube nicht, dass jemand so n Aufwand machen wird, weil er meinen Kalender unbedingt öffnen will - es gibt ja nichts zu gewinnen ;)

Beim DS Kalender schon ;-)


Allgemein, kannst du es so prüfen:

PHP:
<?php
if(date("d.m", time()) == '01.12')
?>
date("d.m", time()) findet den heutigen tag heraus. Dann musst du nur noch prüfen, ob das der tag für das richtige Türchen ist.
 

TimLim

Gast

Ooh, sry. Ich dachte, man erkennt es am Codestück.

PHP:
<?php
if(date("d.m", time()) == '01.12') // Prüfung ob heute der 01.12 ist.
{
    // Mach, was du willst.
}

if(date("d.m", time()) == '20.12') // Prüfung ob heute der 20.12 ist.
{
    // Mach, was du willst.
}

// Und so weiter..
?>
 

DeletedUser

Gast
Ooh, sry. Ich dachte, man erkennt es am Codestück.

PHP:
<?php
if(date("d.m", time()) == '01.12') // Prüfung ob heute der 01.12 ist.
{
    // Mach, was du willst.
}

if(date("d.m", time()) == '20.12') // Prüfung ob heute der 20.12 ist.
{
    // Mach, was du willst.
}

// Und so weiter..
?>


Das ist eher unpraktikabel.. da müsste man für jede einzelne Tür eine Abfrage machen.

Geht es darum, dass nur der Link zu diesem Zeitpunkt angezeigt wird, oder dass auch überprüft wird, ob wirklich der Tag ist?

Link anzeigen:
PHP:
<?php


$cur_day = date(d);
$cur_month = date(m);

$header_link = array();
$i = 1;
while($i < 25 AND $cur_month == 12){
$header_link[$i] = "irgendwas_tag_$i.php"; // Link zur Tagesdatei, wenn du alles statisch maschst bzw. GET-Parameter mit ?day=$i
$i++;
}

if($cur_month == 12){
echo "<a href=\"$header_link[$cur_day]\">Heute ist Tag $cur_day</a>"; // Ausgabe Link, oder was auch immer du machen willst. 
}else{
echo "Es ist noch nicht Dezember!";
}

?>

Brauchst du zur Kontrolle auch noch was, oder ist das egal? Ich weiß ja nicht, was du machen willst.
 
Zuletzt bearbeitet von einem Moderator:

DeletedUser

Gast
es geht mir darum, dass man auf normalem, einfachem weg nicht an den Link ran kommt.
 

DeletedUser

Gast
irgendwie. wie gesagt, wenn einer unbedingt da ran will, ich werde ihn nciht hinderen, denn es gibt nichts zu gewinnen^^
 

DeletedUser

Gast
irgendwie. wie gesagt, wenn einer unbedingt da ran will, ich werde ihn nciht hinderen, denn es gibt nichts zu gewinnen^^

Wenn du mir jetzt noch sagst, wie deine Links, die da und da hin gehen lauten, kann ich dir sicher helfen. ;-)
Haben die ein bestimmtes Muster mit der Tageszahl (was davor und dahinter kommt ist egal), oder jeder unterschiedlich?
 

TimLim

Gast
Das ist eher unpraktikabel.. da müsste man für jede einzelne Tür eine Abfrage machen.

Geht es darum, dass nur der Link zu diesem Zeitpunkt angezeigt wird, oder dass auch überprüft wird, ob wirklich der Tag ist?

Link anzeigen:
PHP:
<?php


$cur_day = date(d);
$cur_month = date(m);

$header_link = array();
$i = 1;
while($i < 25 AND $cur_month == 12){
$header_link[$i] = "irgendwas_tag_$i.php"; // Link zur Tagesdatei, wenn du alles statisch maschst bzw. GET-Parameter mit ?day=$i
$i++;
}

if($cur_month == 12){
echo "<a href=\"$header_link[$cur_day]\">Heute ist Tag $cur_day</a>"; // Ausgabe Link, oder was auch immer du machen willst. 
}else{
echo "Es ist noch nicht Dezember!";
}

?>

Brauchst du zur Kontrolle auch noch was, oder ist das egal? Ich weiß ja nicht, was du machen willst.

Kann sein, dass ich es nicht sehe.. Aber wo fragst du, ob es der richtige Tag ist?


Mein Vorschlag:
PHP:
<?php
for($i = 1; $i <= date("j", time()) and date("m", time()) == 12; ++$i)
{
    // echo, array, was-auch-immer
}
?>
 

DeletedUser

Gast
die links sind dann nachher einfache html seiten mit dem jeweiligem ergebnis. existieren allerdings noch nicht. und ich will einfach nur, ein "türchen" verlinken, und dieser link soll erst an dem jeweiligen tag angezeigt werden. ob man vorher schon draufdrücken kann und dann aber nirgends hinkommt oder nicht, ist mir schnuppe :)
 

DeletedUser

Gast
Wenn das so ist:
(z.B für den 24ten) advent_24.php:
PHP:
<?php
if(date('m.Y', time()) == '12.2010' and date('d',time())>=24) {?>
<dein-Kalendertürchen-HTML-Code>
<?php } else { ?>
<deine-Fehlermeldung-dass-das-türchen-noch-nicht-offen ist>
<?php }?>

Für irgend nen anderes Türchen einfach die 24 ersetzen. Den 2ten Teil kannst du einfach immer copy&pasten. Ist sicherlich keine ideale Lösung, aber für nen Anfänger denk ich die einfachste

MfG Dömel
 
Oben