Du har ret, det skal være HTTP_REFERER - det missede jeg lige i farten.
Du kan se alle de mulige $_SERVER variatoner her:
http://dk2.php.net/manual/en/reserved.variables.php#reserved.variables.serverPrøv at ændre koden til det her:
// Lav indholdet af mailen
$message = "IP: " . $_SERVER['REMOTE_ADDR'] . "\\n";
$message .= "Henvisende URL: " . $_SERVER['HTTP_REFERER'] . "\\n";
$message .= "Tidspunkt: " . date("j. F Y, G:i");
Grunden til at <br> ikke blev håndteret korrekt, er at koden ikke er sat op til at sende html. Det kan du vælge at gøre med lidt flere parametre. Se mere om dette her:
http://dk2.php.net/manual/en/function.mail.phpGrunden til at der står . flere steder, er ganske simpelt at det bruges til at binde de forskellige elementer sammen - ligesom f.eks. + bruges i JavaScript ( så vidt jeg husker).
Du kan i realiteten have lige så mange data med som du har lyst til, bare du skriver dem i rækkefølge med $message .= "Label: " . $data . "\\n";
Grunden til at der skrives .= og ikke bare =, er at man tilføjer til enden af variablen.
Nu skrev du at du havde dine egne 404 sider, så jeg gik ud fra at det der vises til den besøgende var på plads, men reelt kan du lave hvad som helst, bare det er efter mail(), så den sendes. Om det er et link eller kode der sender brugeren videre, er helt op til dig.
I øvrigt vil referer jo ikke vise noget hvis det er direct request, da der ikke er noget at vise. Den henter bare det link man har brugt til at komme til siden...