Zur Startseite Wollen Sie Besucher beim Aufruf einer Seite auf eine ganz andere Seite umleiten? Mit PHP geht so etwas ganz einfach.
Beispiel: Sie möchten, dass beim Laden der Seite "seite1.php" der Besucher auf die Seite "seite2.php" umgeleitet wird. Dazu können Sie die PHP-Funktion header() verwenden. Schreiben Sie ein PHP-Skript, das Sie dann unter dem Namen "seite1.php" abspeichern. Das Skript sollte folgende Zeilen enthalten:
<?php
// einfache umleitung
header("Location:seite2.php");
?>
Wichtig bei der Verwendung von header(): Es sollten keine Textausgaben auf der Seite ausgegeben werden. Der Aufruf von header() sollte also möglichst am Anfang des Skripts erfolgen oder im Skript sollte überhaupt kein weiterer Text angezeigt werden.
Advertisement/Werbung
Genau genommen müssten eigentlich auch das Protokoll und die Domain nach "Location:" erscheinen, also:
http://meinedomain.de/seite2.php
in der Praxis hat sich gezeigt, das die Umleitung auch in der hier beschriebenen Kurzform funktioniert, wenn sich die Seite auf der gleichen Domain befindet.
Trotzdem sollte, wenn möglich, die vollständige URL zur Umleitung angegeben werden
Anmerkung: Die hier vorgestellten Beispiele sollen lediglich das Prinzip verdeutlichen. Bei einigen Einzelheiten würde man in einer endgültigen Anwendung möglicherweise anders vorgehen. Sie dienen hier lediglich als Beispiele, damit das Verfahren anschaulich erläutert werden kann. In meinen Online-Kursen wird selbstverständlich genauer auf Einzelheiten eingegangen.
Advertisement/Werbung
Eine Alternative ist die Umleitung über den HTML-Redirect:
<head> <meta http-equiv="refresh" content="1; seite2.php"> <!-- ... andere Angaben im Dateikopf ... --> </head> <body> Sie werden in einer Sekunde weitergeleitet </body>
Der Vorteil hier: Man kann dem Besucher noch mitteilen, dass er umgeleitet wird. Die Zeit bis zur Umleitung kann auch auf Null gesetzt werden, so dass die Weiterleitung ohne Verzögerung erfolgt.
Wozu wird eine Umleitung überhaupt benötigt? Stellen Sie sich vor, Sie möchten Ihren Besuchern andere Seiten empfehlen. Dabei möchten Sie jedoch feststellen können, welche Seiten der Besucher über Ihre Seiten angeklickt hat. So können Sie später auswerten, welche Ihrer Empfehlungs-Links häufiger angeklickt wurde.
Das folgende Skript leitet den Besucher je nach Auswahl zu der entsprechenden Seite um. Vorher wird der Klick jedoch mit Datum und Uhrzeit in einer Logdatei festgehalten:
<?php
if (isset($_GET['id']))
{
switch($_GET['id'])
{
case 2:
$url = "seite2.php";
write_log("seite2.log");
break;
case 3:
$url = "seite3.php";
write_log("seite3.log");
break;
}
header("Location:$url");
}
?>
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Ihre Auswahl</title>
</head>
<body>
Sie möchten <a
href="<?php
print($GLOBALS['PHP_SELF'].'?id=2');
?>">erstes Angebot</a><br>
Sie möchten <a
href="<?php
print($GLOBALS['PHP_SELF'].'?id=3');
?>">zweites Angebot</a><br>
</body>
</html>
<?php
function write_log($dateiname)
{
echo "log to $dateiname";
$fp = fopen($dateiname, "a");
if (!$fp) die ('kann datei nicht öffnen');
fputs($fp, "Seite wurde aufgerufen " .
strftime("%d.%m.%Y %H:%M:%S") . "\r\n");
fclose($fp);
}
?>
Das Skript zeigt zunächst zwei Links an, die wiederum die gleiche Seite über $GLOBALS['PHP_SELF'] aufrufen. Bei jedem Link wird noch ein Parameter "id" übergeben. Beim zweiten Aufruf wird dieser Parameter in der Variable $_GET['id'] erkannt. Dann verzweigt das Skript über die switch-Anweisung und legt die entsprechende URL für die Weiterleitung fest. Bevor jedoch weitergeleitet wird, sorgt ein Aufruf der selbst definierten Funktion write_log() für den Eintrag in die zuständige Logdatei.
Damit das Skript die Dateien auf dem Webserver selbst anlegen kann, müssen in dem Verzeichnis, in dem es läuft, Schreibrechte für alle freigegeben sein. Sollte das nicht möglich sein, so erzeugen Sie die Logdateien auf Ihrem lokalen Rechner (leere Dateien, mit Notepad erstellt reichen völlig) und kopieren Sie diese Dateien per FTP auf den Server. Dann müssen nur für diese Logdateien die Schreibrechte freigegeben sein.
Hinweis: Diesen Text und die enthaltenen Beispielprogramme und Skripte dürfen Sie zum Erlernen der einzelnen Techniken und auch als Grundlage für Ihre eigenen Projekte auf eigene Gefahr kostenlos nutzen.
Bitte denken Sie daran, dass alle Texte und Quellcodes trotzdem urheberrechtlich geschützt sind. Eine direkte Weitergabe ist nur nach ausdrücklicher schriftlicher Genehmigung gestattet.