atox
03-01-2004, 12:55 AM
In deze tutorial leg ik je uit hoe je stap voor stap je eigen error pages maakt en hoe je een handige mail krijgt als er iemand een foutmelding krijgt. Dit omdat je dan weet als iemand op je site aan het snuffelen is naar bijvoorbeeld open directories of als je een foute link hebt staan op je website.
Eerst voeg je in .htacces (in je root folder) de volgende lijnen 'code' toe (onderaan is goed) :
[code:1]
ErrorDocument 400 /400.php
ErrorDocument 404 /404.php
[/code:1]
(Zo ziet het eruit als je errordocuments in je root folder staan je kan natuurlijk het in een speciaal mapje errors steken en dan zien de lijnen code er zo uit:)
[code:1]
ErrorDocument 400 /errors/400.php
ErrorDocument 404 /errors/404.php
[/code:1]
Let wel dat je geen volledige URL voor 400.php ofzo zet want dan werken het mailscriptje niet meer naar behoren.
Nu maak je zelf het design van je errorpagina. Die kan je volledig bekleden met alle html javascript en php die je kent. Zorg wel dat er altijd een link terug is naar de homepage van je website of naar de vorige pagina. Anders heeft zo een foutpagina weinig zin.
Nu ga je ergens in je pagina volgende php code toevoegen:
[code:1]
<?php
//Mail On Error by atox
$ip=$HTTP_SERVER_VARS["REMOTE_ADDR"]; //Haal het ip van de bezoeker op
$refer=getenv('HTTP_REFERER'); //Haal de eventuele pagina op vanwaar naar de onbestaande page gelinkt werd
$url=$_SERVER['REQUEST_URI']; //Haal de pagina op waar de fout zich voordoet
$email="problemen@jouwdomein.nl"; //Naar dit adres wordt de mail verstuurd - pas dit aan naar je wensen!
$message="Beste Webmaster, //Hier start de email. Buiten de variabelen mag je deze ook aanpassen.
Een bezoeker met het ip $ip had een foutmelding op de volgende pagina:
$url
Indien hij deze pagina gevonden had via een link dan staat de pagina vanwaar gelinkt werd hieronder:
$refer
Vriendelijke Groeten,
Uw Error Manager";
$subject="Bezoeker kwam op Error Page";//Subject van de mail die je toegestuurd wordt - aanpasbaar!
//Nu wordt de mail verstuurd. Vergeet niet het From en het Reply-To gedeelte aan te passen!
mail("$email", "$subject", "$message",
"From: Error Manager Jouwsite <webmaster@jouwsite.nl>\r\n"
."Reply-To: webmaster@jouwsite.nl\r\n"
."X-Mailer: PHP/" . phpversion());
?>
[/code:1]
Zo, dat is alles wat er moet gebeuren. Indien je variabelen opslaat in sessions als de persoon ingelogd is (bijvoorbeeld zijn gebruikersnaam ofzo) dan kan je die ook in de mail gebruiken dooe gewoon $_SESSION[variabelenaam] erin te vermelden.
Veel plezier ermee en voor verdere vragen kan je me steeds mailen of toevoegen op msn messenger:
atoxje'at'hotmail'dot'com
Met dank aan GoT en Hennie
Eerst voeg je in .htacces (in je root folder) de volgende lijnen 'code' toe (onderaan is goed) :
[code:1]
ErrorDocument 400 /400.php
ErrorDocument 404 /404.php
[/code:1]
(Zo ziet het eruit als je errordocuments in je root folder staan je kan natuurlijk het in een speciaal mapje errors steken en dan zien de lijnen code er zo uit:)
[code:1]
ErrorDocument 400 /errors/400.php
ErrorDocument 404 /errors/404.php
[/code:1]
Let wel dat je geen volledige URL voor 400.php ofzo zet want dan werken het mailscriptje niet meer naar behoren.
Nu maak je zelf het design van je errorpagina. Die kan je volledig bekleden met alle html javascript en php die je kent. Zorg wel dat er altijd een link terug is naar de homepage van je website of naar de vorige pagina. Anders heeft zo een foutpagina weinig zin.
Nu ga je ergens in je pagina volgende php code toevoegen:
[code:1]
<?php
//Mail On Error by atox
$ip=$HTTP_SERVER_VARS["REMOTE_ADDR"]; //Haal het ip van de bezoeker op
$refer=getenv('HTTP_REFERER'); //Haal de eventuele pagina op vanwaar naar de onbestaande page gelinkt werd
$url=$_SERVER['REQUEST_URI']; //Haal de pagina op waar de fout zich voordoet
$email="problemen@jouwdomein.nl"; //Naar dit adres wordt de mail verstuurd - pas dit aan naar je wensen!
$message="Beste Webmaster, //Hier start de email. Buiten de variabelen mag je deze ook aanpassen.
Een bezoeker met het ip $ip had een foutmelding op de volgende pagina:
$url
Indien hij deze pagina gevonden had via een link dan staat de pagina vanwaar gelinkt werd hieronder:
$refer
Vriendelijke Groeten,
Uw Error Manager";
$subject="Bezoeker kwam op Error Page";//Subject van de mail die je toegestuurd wordt - aanpasbaar!
//Nu wordt de mail verstuurd. Vergeet niet het From en het Reply-To gedeelte aan te passen!
mail("$email", "$subject", "$message",
"From: Error Manager Jouwsite <webmaster@jouwsite.nl>\r\n"
."Reply-To: webmaster@jouwsite.nl\r\n"
."X-Mailer: PHP/" . phpversion());
?>
[/code:1]
Zo, dat is alles wat er moet gebeuren. Indien je variabelen opslaat in sessions als de persoon ingelogd is (bijvoorbeeld zijn gebruikersnaam ofzo) dan kan je die ook in de mail gebruiken dooe gewoon $_SESSION[variabelenaam] erin te vermelden.
Veel plezier ermee en voor verdere vragen kan je me steeds mailen of toevoegen op msn messenger:
atoxje'at'hotmail'dot'com
Met dank aan GoT en Hennie