Hi!
Wenn ich's denn könnte :-( wäre das natürlich der bessere Weg, da hast du schon recht, aber ich hab keinen Plan wie ich das angehen sollte.
Die serverseitige Umleitung bekommst du hin, indem du mit der Funktion header() den HTTP-Header "location" sendest.
Wenn es dir leichtfällt, dann schreib das doch mal bitte für PHP.
In deinem Beispiel hattest du als "Deadline" den 25.5.07 23:59:59 angegeben.
Das ist, als Unix-Timestamp, 1180130399.
Diesen Wert habe ich verwendet.
Wenn du ihn abändert möchtest, dann weißt du ja jetzt, wie man mit Hilfe von PHP-Zeitfunktionen, ein Datum in einem Timestamp verwandeln könnte.
Alternativ dazu könntest du aber auch mal schnell ein Online-Tool wie diesen Timestamp Konverter benutzen.
Aber vielleicht stimmt deine Deadline ja auch so und du möchtest daran nichts mehr ändern..?
Also hier der Code:
<?php
$deadline = 1180130399;
if ( time() < $deadline )
{
header( "Location: http://example.com/register.php" );
exit;
}
else
{
header( "Location: http://example.com/register-exp.php" );
exit;
}
?>
Eigentlich ist es nicht mehr, als eine einfache if-Abfrage und dann das Senden eines HTTP-Headers.
Du mußt jetzt nur eines beachten:
Die Umleitung geschieht durch das Sendes eines HTTP-Headers.
Die Header müssen logischerweise vor dem eigentlichen Dokument gesendet werden.
Der Aufruf von header() funktioniert nur dann, wenn noch keine andere Ausgabe zum Client geschickt wurde.
Das bedeutet: Wenn du diesen Code einsetzt, dann solltest du ihn ganz oben in deiner Datei platzieren.
Da darf nicht einmal ein Leerzeichen davor stehen. Andernfalls würde der Server dieses Leerzeichen zum Browser schicken und damit wären dann bereits Header versandt worden.
Eine Weiterleitung wäre dann nicht mehr möglich.
Schöner Gruß,
rob