Comme on me l'a demandé quelque fois déjà, voici le script qui me sert pour l'envoi d'un e-mail lors d'une erreur internet (je vous laisse coder la page d'erreur personnalisé pour votre cas personnel) :
Dans le .htaccess :
edit medium69 : correction du code erroné
Dans le .htaccess :
Code:
ErrorDocument 400 /erreur.php
ErrorDocument 401 /erreur.php
ErrorDocument 403 /erreur.php
ErrorDocument 404 /erreur.php
ErrorDocument 410 /erreur.php
ErrorDocument 500 /erreur.php
Code:
switch ($_SERVER['REDIRECT_STATUS']) {
case 401:
$mess_erreur = 'Accès à la ressource refusé';
break;
case 403:
$mess_erreur = 'Refus de traitement de la requête';
break;
case 404:
$mess_erreur = 'Document non trouvé';
$logoErreur = '404';
break;
case 410:
$mess_erreur = 'La ressource est indisponible et aucune adresse de redirection n\'est connue';
}
if (!eregi('(cltreq.asp|owssvr.dll|_vti)', $_SERVER['REQUEST_URI']) && $_SERVER['REDIRECT_STATUS'] != 410 ) {
if (empty($_SERVER['HTTP_REFERER'])) {
$provenance = 'Connexion directe';
}
else {
$provenance = $_SERVER['HTTP_REFERER'];
}
$mess = 'Erreur internet '.$_SERVER['REDIRECT_STATUS']."\n\r";
$mess .= 'Provenance : '.$provenance."\n\r";
$mess .= 'Url demandée : '.$_SERVER['REQUEST_URI']."\n\r";
$mess .= 'Navigateur utilisé : '.$_SERVER['HTTP_USER_AGENT']."\n\r";
$mess .= 'Nom de Domaine : '.gethostbyaddr($_SERVER['REMOTE_ADDR'])."\n\r";
$mess .= 'IP du visiteur : '.$_SERVER['REMOTE_ADDR'];
$to = email@levotre.com;
$subject = 'Erreur internet '.$_SERVER['REDIRECT_STATUS'];
$message = $mess;
$headers = 'From: noreply@levotre.com'."\r\n".'Reply-To: noreply@levotre.com'."\r\n";
mail($to, $subject, $message, $headers);
}
edit medium69 : correction du code erroné