Es ist nicht sinnvoll, Werte aus $_SERVER (oder $_GET oder $_POST) 1:1 in andere Variablen umzukopieren. Man gewinnt dadurch nur wenig (kleiner Komfort beim Einfügen in ""-Strings), hat aber eine Indirektion drin und eine Variable mehr zu pflegen. Wenn man den Wert anschließend nur ein einziges Mal braucht, hat man sogar effektiv mehr Code geschrieben, als wenn man den $_SERVER['irgendwas'] direkt am Ziel notiert hätte.
In unten gezeigter Version habe ich ja noch die $visitor_referer Variable drin. Die möchte ich gerne noch rauswerfen. Aber ich bekomme das leider nicht hin.
Ich möchte in der Zeile:
$mail_text .= "HTTP Referer: $visitor_referer\n\n";
nicht die Variable $visitor_referer verwenden, sondern die "Dinger" aus:
$visitor_referer = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
direkt einfügen.
Ich habe es so probiert:
$mail_text .= "HTTP Referer: " . isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '' . "\n\n";
aber dann werden die beiden Zeilenumbrüche am Ende ignoriert.
Wo ist denn da der Fehler?