Homepage selbermachen 7.846 Themen, 35.563 Beiträge

Umlaute in PHP Kontaktformular

systemratgeber / 3 Antworten / Flachansicht Nickles

Hallo,

soll für einen Kunden eine Homepage erstellen. Das ist ja auch kein Prob, nur hab ichs länger nicht gemacht und habe Probleme mit der Zeichenkodierung. Wenn ich über das Kontaktformular eine Mail versende dann sieht diese Mail sehr wirr aus, Umlaute werden nicht wichtig dargestellt (gögsÃŒgöertÃŒe )

Hier ein Auszug aus dem Code:


<?
$message = "";
if (!empty($HTTP_GET_VARS))
{
while(list($name, $value) = each($HTTP_GET_VARS))
$message.="$name = $value\n";
}
if (!empty($HTTP_POST_VARS))
{
while(list($name, $value) = each($HTTP_POST_VARS))
$message.="$name = $value\n";
}

$message=rawurldecode($message);
$message=str_replace("+", " ", $message);

mail("@web.de", "$betreff", $message, "From: $email\nReply-To: $email\nX-Mailer: PHP/" . phpversion(). "\nCC: @web.de.de");



Das Leben ist schön!
bei Antwort benachrichtigen
Borlander systemratgeber „Umlaute in PHP Kontaktformular“
Optionen

Einfach die korrekte Zeichensatzcodierung mit in den Mail-Header aufnehmen ;-)

Und wann hast Du das letzte mal mit PHP gearbeitet?

$HTTP_*_VARS sind schon seit einer ganzen Weile als deprecated gekennzeichnet!
Du solltest $_GET bzw. $_POST verwenden.

Statt while(list($name, $value) = each($HTTP_GET_VARS))
würde ich eher foreach verwenden:
foreach ($_GET as $name => $value) { /*...*/ }

Ich verstehe auch nicht was Du an dieser Stelle mit rawurldecode und str_replace bezwecken willst. Die Werte in den Variablen liegen ohne spezielle Codierung vor...

Gruß
Borlander

bei Antwort benachrichtigen