• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Adventskalender - datumsvergleich?

-Ch-

Neues Mitglied
Hallo!

Ich möchte einen Adventskalender programmieren. Da ich nicht mehr viel zeit hab, will ich das erstmal mit Imagemaps lösen. Man klickt auf eine Zahl in einem schönen Bild und es öffnet sich eine php Datei mit dem Adventskalender - Inhalt.

Ich möchte das die PHP Datei dann checkt ob man den Inhalt jetzt schon sehen darf. Wenn ja dann kommt der Inhalt den die User sehen dürfen, wenn nein dann soll ein von mir voregebener Text kommen das man nicht schummeln darf.

Es sollte aber die Möglichkeit bestehen, das man die Kästchen der Vortage noch öffnen kann.

Ich hab nur keine idee wie ich das lösen kann. Eigentlich sollte das ja leicht zu realisieren sein. Ich dachte mir ich löse das mit 24 Unterseiten, das sollte ja schnell gehen, aber ich brauch eben eine Funktion die das Datum checkt. Ich will nämlich nicht immer jeden tag eine Unterseite per FTP hochladen..

1.php = kann am 1. Dezember geöffnet werden und danach, davor kommt ne fehlermeldung
2.php = kann am 2. Dezember geöffnet werden und danach, davor kommt ne fehlermeldung

usw.

Habt ihr da irgendwie tipps für ne abfrage?
 
Ab PHP 5.3.0 gibt's ne Funktion um die Differenz zwischen zwei Daten zu prüfen: PHP: date_diff - Manual . Für alle PHP Versionen davor musst du dir selber eine Funktion schreiben, im php Handbuch findest du aber auch einige fertige die man im Grunde so übernehmen kann.
 
Oder

Code:
if(date("d.m.Y") != basename(__FILE__,".php").".12.".date("Y")){ header("Location: /index.php");

oder ähnliches ..
 
haha! bissl nachdenken hätt ich nun auch selbst können. (damit ich nicht dauernd doppelt posten muss lösch ich das unnötige raus). Ich danke euch. Ich habe es nun so gelöst:

Code:
<?php

if(date("d.m.Y") != basename(__FILE__,".php").".11.".date("Y") && date("d.m.Y") < basename(__FILE__,".php").".11.".date("Y")){
echo "du darfst den inhalt nicht sehen";
}
else {
echo 'Das ist der inhalt';
}


?>
es schneint zu funktionieren. Alles vorm 29.november lässt sich sehen, alles danach nicht mehr.

EDIT:

hmm von 3.php bis 9.php wird mir die fehlermeldung angezeigt. alle anderen gehen in den dateien steht das selbe wie überall auch drinnen. komisch...
 
Zuletzt bearbeitet:
Ohje.. sorry :oops:

Die fehlermeldung: Damit meine ich
Code:
echo "du darfst den inhalt nicht sehen";

Hab vergessen, dass das nur weil es für mich Sonnenklar ist, nicht unbedingt für jedermann so sein muss *g*
 
Das Problem würde ich verstehen wenn es von 1.php bis 9.php zutrifft, so aber nicht. Wie sieht dein Quellcode komplett aus?
 
Das hier sollte hinhauen:

PHP:
<?php

header('Content-Type: text/html; charset=UTF-8');

// Integer
$day = (isset($_GET['day'])) ? (int) $_GET['day'] : (int) date('j');

if ($day < 1 || $day > 24) {
    exit('Für diesen Tag gibt es kein Türchen!');
}

if (strcmp(date('Y-m-d'), sprintf('2010-12-%02d', $day)) < 0) {
    exit('Dieses Türchen kann noch nicht geöffnet werden!');
}

$surprises = array(
     '1' => 'ein Pony',
     '2' => 'ein Pony',
     '3' => 'ein Pony',
     '4' => 'ein Pony',
     '5' => 'ein Pony',
     '6' => 'ein Pony',
     '7' => 'ein Pony',
     '8' => 'ein Pony',
     '9' => 'ein Pony',
    '10' => 'ein Pony',
    '11' => 'ein Pony',
    '12' => 'ein Pony',
    '13' => 'ein Pony',
    '14' => 'ein Pony',
    '15' => 'ein Pony',
    '16' => 'ein Pony',
    '17' => 'ein Pony',
    '18' => 'ein Pony',
    '19' => 'ein Pony',
    '20' => 'ein Pony',
    '21' => 'ein Pony',
    '22' => 'ein Pony',
    '23' => 'ein Pony',
    '24' => 'ein Pony'
);

$surprise = $surprises[$day];

?>

<p>Deine Überaschung für heute (Tag <?php echo $day; ?>):
      <?php echo htmlspecialchars($surprise); ?>!</p>
 

Neueste Beiträge

Zurück
Oben