zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden PHP Kontaktformular / Sonderzeichenproblem (SRY)

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 04.08.2009, 18:24
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
  #2 (permalink)  
Alt 04.08.2009, 19:03
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 2.626
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Da wo sie im HTML auch steht: im Content-Type Header

http://de.wikipedia.org/wiki/Header_(E-Mail)

PHP-Code:
$header.="Content-Type: text/plain; charset=utf-8"
__________________
github | http://dnaber.de
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 04.08.2009, 19:15
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 04.08.2009
Beiträge: 4
kps2009 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von David Beitrag anzeigen
Da wo sie im HTML auch steht: im Content-Type Header

http://de.wikipedia.org/wiki/Header_(E-Mail)

PHP-Code:
$header.="Content-Type: text/plain; charset=utf-8"
habe so so gemacht:

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'];
und es hat leider NICHT funktioniert oder habe ich was falsch gemacht?
Mit Zitat antworten
  #4 (permalink)  
Alt 04.08.2009, 19:21
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 04.08.2009
Beiträge: 4
kps2009 befindet sich auf einem aufstrebenden Ast
Standard

ahhhh es hat funktioniert!!!!!! ich muss da surf-8 bei else reinhauen...

VIEEEEELEN DANK!!!!!!!!!!!!!!!
Mit Zitat antworten
  #5 (permalink)  
Alt 04.08.2009, 19:27
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 2.626
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Du musstest was wo reinhauen?
__________________
github | http://dnaber.de
Mit Zitat antworten
  #6 (permalink)  
Alt 04.08.2009, 19:29
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 04.08.2009
Beiträge: 4
kps2009 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von David Beitrag anzeigen
Du musstest was wo reinhauen?

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)) 
  { ................................
.....................
............
nun fuktioniert es bestens !!!

bedanke mich nochmal bei dir!!!
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP Kontaktformular und verschiedene Browser HTMLLernender (X)HTML 1 22.01.2010 12:08
PHP Kontaktformular mit Sonderzeichen minimalwerk Serveradministration und serverseitige Scripte 4 11.07.2009 22:04
Dateien auslagern - Include und PHP ArcVieh Serveradministration und serverseitige Scripte 17 27.03.2008 19:09
Sicherheit von eigenem PHP Kontaktformular Lloyd Larkin Serveradministration und serverseitige Scripte 13 01.10.2006 13:02


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