XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Serveradministration und serverseitige Scripte (http://xhtmlforum.de/forumdisplay.php?f=80)
-   -   PHP Kontaktformular mit Sonderzeichen (http://xhtmlforum.de/showthread.php?t=57671)

minimalwerk 11.07.2009 20:14

PHP Kontaktformular mit Sonderzeichen
 
Hallo Community,

ich befinde mich momentan in einem Selbststudium für XHTML, CSS und Javascript. Läuft auch alles sehr gut bisher. Nun habe ich mir ein Kontaktformular erstellt. Da ich mich mit PHP überhaupt gar nicht auskenne habe ich mir Beispiele in Foren angeschaut. Gelöst habe ich es wie folgt:

im HTML:
Zitat:

<div id="formular">
<form action="formular.php" onsubmit="return formularchecker(this)" method="post">
<h5>Name*</h5>
<input id="name" name="name" type="text" size="53" />
<h5>email*</h5>
<input id="mail" name="mail" type="text" size="53" />
<h5>Telefon</h5>

<input id="phone" name="phone" type="text" size="53" />
<h5>Nachricht*</h5>
<textarea id="message" name="nachricht" cols="40" rows="8"></textarea>
* Pflichtfelder
<input id="send" name="abschicken" type="submit" value="Abschicken" a href="contact.html"/>
</form>
</div>
im Javascript:
Zitat:

function formularchecker()
{
//Name
var name;
name=document.getElementById("name").value;
if (name=="")
{
alert("Bitte geben Sie Ihren Name ein");
return false;
}

//mail
var mail;
mail=document.getElementById("mail").value;
if (mail=="")
{
alert("Bitte geben Sie Ihre email Adresse ein");
return false;
}

//message
var message;
message=document.getElementById("message").value;
if (message=="")
{
alert("Bitte geben Sie Ihre Anfrage ein");
return false;
}

return true;
}
und im PHP:
Zitat:

<?php
// Übernommen Daten per mail versenden
$empfaenger = 'xxx@xxx.xx';
$betreff = 'Nachricht aus meinem Kontaktformular';
$nachricht = "Name:_______ ".$_POST['name']."\n"."\n"."email:________ ".$_POST['mail']."\n"."\n"."Telefon:______ ".$_POST['phone']."\n"."\n"."Nachricht:_____ ".$_POST['nachricht'];
$header = 'From: MailServer' . "\r\n" .
'Reply-To: '.$_POST['mail']. "\r\n" .
'X-Mailer: PHP/' . phpversion();

mail($empfaenger, $betreff, $nachricht, $header);
?>
Funktioniert auch alles wunderbar, also die Nachrichten kommen an. Jedoch werden wohl die Sonderzeichen, im folgenden Fall die Umlaute, nicht unterstützt.

Zitat:

Name:_______ blablablabla

email:________ xxx@xxx.xx

Telefon:______ 99999999999

Nachricht:_____ Testnachricht mit Sonderzeichen,

ich bin ein À
ich bin ein Ì
ich bin ein ö
ich bin ein �
wie kann man dies lösen?
Ich weiß auch, dass das erstellte Kontaktformular nicht der Weisheits letzter Schluß ist und wohl besser zu lösen wäre. Da ich mich noch ziemlich am Anfang befinde bitte ich darüber erstmal hinweg zu sehen.

lg

Gumbo 11.07.2009 20:30

Die Daten scheinen mit UTF-8 kodiert zu sein. Wenn du die E-Mail auch als UTF-8 kodiert sendest, sollte es keine Probleme mehr geben.

minimalwerk 11.07.2009 20:39

aber was und besonders wo muß ich da was schreiben?

lg

Gumbo 11.07.2009 20:50

PHP-Code:

$header 'From: MailServer' "\r\n" .
'Reply-To: '.$_POST['mail']. "\r\n" .
'Content-Type: text/plain;charset=utf-8' "\r\n" .
'X-Mailer: PHP/' phpversion(); 


minimalwerk 11.07.2009 22:04

vielen Dank :)

lg


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:47 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2021, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2020