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

PHP Datei nur an bestimmtem Datum öffnen

Hansii

Mitglied
Hallo.

Ich habe zwei Dateien ("index.php" und "seite.php"). Auf der Seite "index.php" habe ich einen Link zur Seite "seite.php" :

HTML:
<a href="seite.php">Seite</a>

Wenn man darauf klickt, soll die Datei "seite.php" nur am 29.11.2012 geöffnet werden können. Sonst soll kommen : Heute ist nicht der 29.11.2012. Bitte warten Sie noch ein wenig.

Wie mache ich das mit PHP ? Welche Codes ? Wo muss der Code dann hin ?

Danke
 
Das sollte mit einem einfachen timestamp gehen.

Code:
$time = time();
if($time > 1354147199 && $time < 1354233600)
{
// Seite öffnen
}
else
{
// andere Seite
}

Ist GMT-Zeit, für GMT+1 einfach +3600.
 
Oder etwas unkomplizierter:
PHP:
if(date('Y-m-d') === '2012-11-29'){
    // Datum ist korrekt
}else{
    // Datum ist inkorrekt
}
Einzusetzen in seite.php.

Ist GMT-Zeit, für GMT+1 einfach +3600.
time() liefert den Timestamp des Servers. Mit GMT hat diese Funktion nichts zu tun.
 
Zuletzt bearbeitet:
Unkomplizierter ist da aber sehr relativ, oder?

Wenn der Server in Australien steht, geht dein date() 12 Stunden vor, steht er in den USA geht dein date() 9 Stunden nach.
Nur der tatsächliche Wert vom timestamp +/- die gewünschte Zeitzone liefert das gewünschte Ergebnis unabhängig vom Server-Standort.
 
Ein anderer Ansatz wäre dann aber JavaScript. 2 Seiten machen und mittels JavaScript in Abhängigkeit des Clientdatums den Link manipulieren. Aber das muss auch nicht unbedingt richtig sein. Wer weiß schon was für eine Zeit auf dem Client eingestellt ist. Man kann einfach sagen... alles ist nicht richtig.
 
Wenn der Server in Australien steht, geht dein date() 12 Stunden vor, steht er in den USA geht dein date() 9 Stunden nach.
Nur der tatsächliche Wert vom timestamp +/- die gewünschte Zeitzone liefert das gewünschte Ergebnis unabhängig vom Server-Standort.

Wenn der Server in Australien steht, liefert time() die lokale Uhrzeit, sprich GMT-9 . Ein time()+3600 läuft damit auf die Uhrzeit GMT-8 hinaus und nicht auf GMT+1.

time() ist nicht die GMT-Zeit. Und time() und date() liefern die selbe (lokale) Zeit.
 
time() ist nicht die GMT-Zeit. Und time() und date() liefern die selbe (lokale) Zeit.

Ups, stimmt, mein Fehler.
Um es unabhängig vom Serverstandort zu machen hätte es heissen müssen:

time() +/- Zeitzone vom Serverstandort +/- gewünschte Zeitzone.
 
Zurück
Oben