3x bewertet

Weiterleitung

von Xelios  |  06.06.2007 um 22:16 h
PHP Anwendungen
Typ: PHP Anwendungen
Stufe:Einfach
Wie vielen vielleicht bekannt ist, gibt es mehrere Möglichkeiten, eine Weiterleitung in seine Homepage einzubauen. Es geht einmal mit META-Tags, mit Javascript und noch mit ein paar anderen Dingen. Zu diesen anderen Dingen gehört auch die Möglichkeit, eine Weiterleitung mit PHP zu basteln. Das bietet gegenüber den sonstigen Möglichkeiten folgende Vorteile:
  • Einfacher zu erstellen (weniger Schreibarbeit).
  • Brower-Unabhängig (funktioniert in jedem Browser).
  • Extrem schnell (der User merkt kaum was davon).
  • Verlässlicher (funktioniert auf jeden Fall).

So, für eine Weiterleitung in PHP gibt es zwei Möglichkeiten. Die erste, ist eine ganz simple Weiterleitung:

<?

header
("Location: http://google.de");

?>


Mehr ist das nicht. Wenn man den obrigen Code nun in eine PHP-Datei stopft, diese Hochläd und aufruft, so wird man direkt zu http://google.de weitergeleitet. Wichtig ist nur, das man bei dem URL immer einen absoluten Pfad angibt! Einige Browser können zwar auch mit relativen Pfaden arbeiten, doch das ist ein gewisses Risiko.

Die zweite Möglichkeit beinhaltet eine kleine Verzögerung. Das heißt, man kann vorher noch eine Nachricht im Browser anzeigen lassen, bevor der User zu einer bestimmten Seite weitergeleitet wird:

<?

$delay 
5/* <- 5 Sekunden warten, bis zur Weiterleitung. */
$url "http://google.de"/* <- Die Adresse, wohin weitergeleitet
werden soll. */

header("Refresh: " $delay "; URL=\"" $url "\""); /* <- Jetzt
den Header mit der Weiterleitung zum Browser schicken. */

echo "Einen Moment bitte, Sie werden in " $delay " Sekunden zu " .
$url " weitergeleitet!";

?>


Im obrigen Beispiel bekommt man nun erst für fünf Sekunden eine Nachricht angezeigt, bevor mach nach Google verschoben wird.
Wen man Langeweile hat, kann man's auch etwas spektakulärer machen, wie folgt:

<?

header
("Refresh: 1; URL=\"http://google.de\""); /* <- Immer wichtig
ist, dass man die doppelten Anführungszeichen bei dem URL nicht
vergisst! */
flush(); /* <- Dieser Befehl dient dazu, das alles bisherige, was an
den Browser ausgegeben wurde, auch ganz sicher ausgegeben wird und
nicht im Cache des Webservers hängen bleibt. */

echo "Sie werden gleich weitergeleitet...<br><br>";
flush();

sleep(1); /* <- Dieser Befehl hält die Scriptausführung um 1 Sekunde
an. */
echo "5...<br><br>";
flush();

sleep(1);
echo 
"4...<br><br>";
flush();

sleep(1);
echo 
"3...<br><br>";
flush();

sleep(1);
echo 
"2...<br><br>";
flush();

sleep(1);
echo 
"1...<br><br>";
flush();

sleep(1);
echo 
"0...<br><br>";
flush();

?>


Einfach mal ausprobieren, ist ganz witzig.
Wichtig!:
Hier werden so genannte Header-Befehle eingesetzt. Diese Befehle müssen vor allen anderen Ausgaben an den Browser gesendet werden, da es sonst zu Fehlermeldungen kommt und das ganze nicht funktioniert!



2 Kommentare




Delite

ai, ich liebe deine tuts Smilie
mehr davon ^^
am 06.06.2007 um 22:20 Uhr


Sayuri

ja mehr davon ^^ *g*
am 06.06.2007 um 22:35 Uhr