Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 04.08.2009, 18:24
kps2009 kps2009 ist offline
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 04.08.2009
Beiträge: 4
kps2009 befindet sich auf einem aufstrebenden Ast
Lächeln 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>
Hier nun der PHP Code des Formulars:

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>&nbsp;</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&ouml;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>"; 
  } 
} 
?>
Ich meine mir fehlt irgendwo die utf-8 Ausgabe... aber wo?

Wäre ecth super wenn ihr mir helfen könnten!
Mit Zitat antworten
Sponsored Links