Hallo
Das unten gezeigte Script gibt einen Fehler aus:
PHP Notice: Undefined index: ...
Das kommt immer dann vor, wenn es keinen Referer gibt. Wie kann ich das denn verhindern.
Ich muss gestehen, dass ich selbst kein PHP beherrsche. Ich habe das Script ergoogelt.
<?php
// error404_mailer.php
// -------------------
// Reiner Makohl - www.stilkunst.de
// 1. Statuscode setzen
header("HTTP/1.0 404 Not Found");
// 2. Infos über den Vorgang, der den Fehler ausgelöst hat
$visitor_ipaddress = $_SERVER["REMOTE_ADDR"]; // IP-Adresse
$visitor_server = $_SERVER["SERVER_NAME"]; // Server-Name
$visitor_request = $_SERVER["REQUEST_URI"]; // Angeforderte URI
$visitor_referer = $_SERVER["HTTP_REFERER"]; // HTTP Referer-Link
$visitor_agent = $_SERVER["HTTP_USER_AGENT"]; // User Agent
$visitor_date = date("j.n.Y H:i:s e"); // Datum und Zeit
// 3. E-Mail: Seitenname festlegen
$seitenname = "example.org"; // <== Ihre Website. Anpassen!
// 4. E-Mail Sender und Empfänger festlegen
$mail_from = "mail@example.org"; // <== Sender. Anpassen!
$mail_to = "mail@example.org"; // <== Empfänger: Ihre E-Mail-Adresse!
// 5. E-Mail: Format ist HTML utf8
$mail_extras = "From: Error-Manager <$mail_from>\n";
$mail_extras .= "Content-Type: text/html; charset=utf-8\n";
$mail_extras .= "Content-Transfer-Encoding: 8bit\n";
$mail_extras .= "Content-Language: de\n";
// 6. Betreff-Zeile festlegen
$mail_subject = "Fehler 404 in der Webseite ".$seitenname;
// 7. Text der E-Mail zusammenstellen
$mail_text = "<p>Hallo Webmaster!<br><br></p>";
$mail_text .= "Auf der Seite <b>$seitenname</b> ";
$mail_text .= "ist ein Fehler 404 (Seite nicht gefunden) aufgetreten.<br></p>";
$mail_text .= "<p>Aufgerufene Adresse: ";
$mail_text .= "<b><a href='http://$visitor_server$visitor_request'>http://$visitor_server$visitor_request</a></b></p>";
$mail_text .= "<p>HTTP Referer: <b><a href='$visitor_referer'>$visitor_referer</a></b></p>";
$mail_text .= "<p>Datum: <b>$visitor_date</b></p>";
$mail_text .= "<p>IP-Adresse: <b>$visitor_ipaddress</b></p>";
$mail_text .= "<p>User Agent: <b>$visitor_agent</b></p>";
// 8. E-Mail senden
@mail($mail_to, $mail_subject, $mail_text, $mail_extras);
?>