|
|||
PHP Kontaktformular / Sonderzeichenproblem (SRY)
Hallo liebe Community,
srooy erstmla das ich dafür einen neuen Thread aufmache!... Aber mir ist da ssehr wichtig und ich hoffe ihr könnt mir helfen. Es geht um das beliebte Sonderzeichenproblem bei PHP Kontaktformularen. Habe einiges gelesen und auch einiges ausprobiert aber ich schaffe es einfach nicht eine Mail über das Formular zu versenden wo die Sonderzeichen korrekt angezeigt werden. Hier mal mein Quellcode: Das ist der Anfang aslso im header auch utf-8 also content type für die gesamte php datei: Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>.....</title> <!-- META--> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> ..... ......... </head> <body> Code:
<?php // *** Deine Mailadresse (Empfänger) *** $mail_to="test@test.de"; // ************************************* $from_name=$_POST['fromname']; $from_mail=strtolower($_POST['frommail']); $mail_subject=$_POST['mailsubject']; $mail_text=$_POST['mailtext']; $send=$_POST['s']; if(trim($from_name)=="") $err_text.="Bitte geben Sie Ihren Namen an.<br>"; if(trim($from_mail)=="") $err_text.="Bitte geben Sie Ihre E-Mail Adresse an.<br>"; else if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$from_mail)) $err_text.="Bitte geben Sie eine gültige E-Mail Adresse an.<br>"; if(trim($mail_subject)=="") $err_text.="Bitte geben Sie einen Betreff ein.<br>"; if(trim($mail_text)=="") $err_text.="Bitte geben Sie einen Nachrichtentext ein.<br>"; // *** Zu langen Text abschneiden *** if(strlen($mail_text)>1000) { $mail_text=substr($mail_text,0,1000)."... (Text wurde gekürzt!)"; } $from_name=str_replace(chr(34),"''",$from_name); $mail_subject=str_replace(chr(34),"''",$mail_subject); $from_name=stripslashes($from_name); $from_mail=stripslashes($from_mail); $mail_subject=stripslashes($mail_subject); $mail_text=stripslashes($mail_text); if(($send=="1") && (isset($err_text))) { echo "<big><b>Fehler beim Versuch Ihre Nachricht zu senden:</b></big><br>"; echo "$err_text</p>"; } if(($send!="1") || (isset($err_text))) { ?> <form action="kontakt.php" method="post" accept-charset="utf-8"> <table border=0 cellspacing=2 cellpadding=0 width=100%> <tr> <td nowrap align=right>Ihr Name:</td> <td> </td> <td width=100%><input type="text" name="fromname" size=50 maxlength=120 value="<?php echo $from_name; ?>"></td></tr> <tr> <td nowrap align=right>Ihre E-Mail Adresse:</td> <td></td> <td width=100%><input type="text" name="frommail" size=50 maxlength=120 value="<?php echo $from_mail; ?>"></td></tr> <tr> <td nowrap align=right>Betreff:</td> <td></td> <td width=100%><input type="text" name="mailsubject" size=50 maxlength=120 value="<?php echo $mail_subject; ?>"></td></tr> <tr> <td nowrap align=right valign=top>Ihre Nachricht:<br> <i>(max. 1.000 Zeichen)</i></td><td></td> <td width=100%><textarea cols="40" rows="10" name="mailtext"><?php echo $mail_text; ?></textarea></td></tr> <tr><td></td><td></td><td> <input type="hidden" value="1" name="s"> <input name="submit" type="submit" class="submit" value="Nachricht senden"> <input name="reset" type="reset" class="submit_delete" value="Angaben löschen"> </td></tr> </table> </form> <?php } else { $header="From: $from_name <$from_mail>\n"; $header.="Reply-To: $from_mail\n"; $header.="X-Mailer: PHP-FormMailer\n"; $header.="Content-Type: text/plain"; $mail_date=gmdate("D, d M Y H:i:s")." GMT"; $send=0; if(@mail($mail_to,$mail_subject,$mail_text,$header)) { echo "<p><b>Ihre Nachricht wurde erfolgreich weitergeleitet.</b></p>"; echo "<p><a href=\"kontakt.php?from_name=$from_name&from_mail=$from_mail\">Zurück zum Kontaktformular</a></p>"; }else{ echo "<p><b>Beim Versenden der Nachricht ist ein Fehler aufgetreten!</b></p>"; echo "<p><a href=\"kontakt.php?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text="; echo urlencode($mail_text)."\">Zurück zum Kontaktformular</a></p>"; } } ?> Wäre ecth super wenn ihr mir helfen könnten! |
Sponsored Links |
|
||||
Da wo sie im HTML auch steht: im Content-Type Header
http://de.wikipedia.org/wiki/Header_(E-Mail) PHP-Code:
|
Sponsored Links |
|
|||
Zitat:
Code:
<?php $header.="Content-Type: text/plain; charset=utf-8"; // *** Deine Mailadresse (Empfänger) *** $mail_to="test@test.de"; // ************************************* $from_name=$_POST['fromname']; $from_mail=strtolower($_POST['frommail']); $mail_subject=$_POST['mailsubject']; $mail_text=$_POST['mailtext']; $send=$_POST['s']; |
|
|||
ich habe den header mit dem utf-8 content bei ELSE reingehauen und am anfang des php formulars: Code:
<?php } else { $header="From: $from_name <$from_mail>\n"; $header.="Reply-To: $from_mail\n"; $header.="X-Mailer: PHP-FormMailer\n"; $header.="Content-Type: text/plain; charset=utf-8"; $mail_date=gmdate("D, d M Y H:i:s")." GMT"; $send=0; if(@mail($mail_to,$mail_subject,$mail_text,$header)) { ................................ ..................... ............ bedanke mich nochmal bei dir!!! |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
PHP Kontaktformular und verschiedene Browser | HTMLLernender | (X)HTML | 1 | 22.01.2010 11:08 |
PHP Kontaktformular mit Sonderzeichen | minimalwerk | Serveradministration und serverseitige Scripte | 4 | 11.07.2009 21:04 |
Dateien auslagern - Include und PHP | ArcVieh | Serveradministration und serverseitige Scripte | 17 | 27.03.2008 18:09 |
Sicherheit von eigenem PHP Kontaktformular | Lloyd Larkin | Serveradministration und serverseitige Scripte | 13 | 01.10.2006 12:02 |