php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.12.2008, 17:30  
Neuer Benutzer
 
Registriert seit: 26.12.2008
Beiträge: 4
macstef befindet sich auf einem aufstrebenden Ast
Standard Umlaute im Mailfomular werden falsch angezeigt

Hallo,

ich ich habe eine Prospektbestellformular, das durch PHP ausgewertert wird, erstellt.

Mein Auswertungsscript zeigt die Bestellung dem Besteller noch einmal zur Kontrolle an und leitet es per Mail() weiter.

In meinen Mailprogrammen(Apple Mail, Thunderbird) kommen die Umlaute korrekt an, die Anzeige für den Besteller zeigt die Umlaute falsch an. Ebenso der Webmailer von web.de

Hier mein Code:
<?
$fehler = "";
$nz = chr(13).chr(10);
$firma = $_POST['firma'];
$nachname = $_POST['nachname'];
$vorname = $_POST['vorname'];
$strasse = $_POST['strasse'];
$stadt = $_POST['stadt'];
$email = $_POST['email'];
$garagentore = $_POST['garagentore'];
undsoweiter dann
if (empty($nachname)) $fehler .= "<li>der Nachname fehlt</li>";
if (empty($vorname)) $fehler .= "<li>der Vorname fehlt</li>";
if (empty($strasse)) $fehler .= "<li>der Straßenname fehlt</li>";
if (empty($stadt)) $fehler .= "<li>der Name der Stadt fehlt</li>";
if (empty($email)) $fehler .= "<li>die E-Mail Adresse fehlt</li>";
if (empty($fehler)) {

$an = "mail@online.de";

$betreff = "Nachricht via Prospektbestellformular - bitte dem Kunden Prospekte zusenden";
$from = "From: Prospektformular <mail@online.de>";
$datum = "Datum: ".date("j.n.Y").$nz;
$zeit = "Zeit: ".date("H:i").$nz;
$linie ="-------------------".$nz;
$aufforderung = "Folgender Kunde wünscht die nachfolgenden Prospekte:";
$text=$datum.$zeit.$linie.$nz.$aufforderung.$nz.$f irma.$nz.$vorname.$nz.$nachname.$nz.$strasse.$nz.$ stadt.$nz.$email.$nz.$linie.$garagentore.$nz. undsoweiter

$titel = "Ihre Nachricht wurde versendet";

mail( $an, $betreff, $text, $from, $headers);

} else $titel = "Es ist ein Fehler aufgetreten";
?>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><?=$titel?></title>
</head>
<body>
<?
if (empty($fehler)) {
$text = strip_tags($text);
$text = htmlentities($text);
$text = str_replace($nz,"<br>",$text);
echo "<p>Ihre Prospektbestellung wurde verschickt. Vielen Dank für Ihr Interesse!</p>";
echo "<p>$text</p>";
echo "<p>Ihre Nachricht konnte nicht versendet werden, weil";
echo "<ul>$fehler</ul>";
echo "</p>";
}
?>
</body>
</html>

Hat jemand einen Tipp, wie ich die Umlaute korrekt angezeigt bekomme?

Viele grüße

macstef

Geändert von macstef (28.12.2008 um 19:00 Uhr).
macstef ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.12.2008, 17:59  
PTC
Erfahrener Benutzer
 
Benutzerbild von PTC
 
Registriert seit: 27.10.2007
Beiträge: 1.708
PHP-Kenntnisse:
Anfänger
PTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nett
Standard

Bitte benutze [php]-Tags für deinen Code.
Du solltest den Code mal einrücken, um ihn lesbarer zu machen.
Wo werden die Umlaute falsch dargestellt, im Browser oder anderen Mailprogrammen?



PHP-Code:
if (empty($nachname)) $fehler .= "<li>der Nachname fehlt</li>";
if (empty(
$vorname)) $fehler .= "<li>der Vorname fehlt</li>";
if (empty(
$strasse)) $fehler .= "<li>der Straßenname fehlt</li>";
if (empty(
$stadt)) $fehler .= "<li>der Name der Stadt fehlt</li>";
if (empty(
$email)) $fehler .= "<li>die E-Mail Adresse fehlt</li>";
if (empty(
$fehler)) 
Schau bitte mal unter Operator AND bzw. OR im Manual nach.


PHP-Code:
mail$an$betreff$text$from$headers 
Das geht gar nicht. Außerdem sieht das schwer nach Copy'n'Paste aus, ich kann nämlich nirgends die Variablen finden in deinem restlichen Skript.


PHP-Code:
<?=$titel?>
Anmerkung dazu.


PHP-Code:
else $titel "Es ist ein Fehler aufgetreten"//so nicht
else { $titel "Es ist ein Fehler aufgetreten"; } //so 

Geändert von PTC (28.12.2008 um 18:20 Uhr).
PTC ist offline  
Alt 28.12.2008, 18:55  
Neuer Benutzer
 
Registriert seit: 26.12.2008
Beiträge: 4
macstef befindet sich auf einem aufstrebenden Ast
Standard

Oops, bei meiner Mail Funktion fehlte die abschließende Klammer und das Semikolon. Habe ich in meinem Themenbeitrag ergänzt.

Die dort aufgeführten Variablen findest du weiter oben. Die Mail kommt ja auch an. Nur in meinem web.de Postfach werden die Umlauteb falsch dargestellt. In meinen sonstigen Mailclients nicht.

Gruß

macstef
macstef ist offline  
Alt 29.12.2008, 10:18  
Neuer Benutzer
 
Registriert seit: 26.12.2008
Beiträge: 4
macstef befindet sich auf einem aufstrebenden Ast
Standard

Hat noch jemand eine Idee, wie die Umlaute korrekt angezeigt werden?
macstef ist offline  
Alt 29.12.2008, 10:21  
Benutzer
 
Registriert seit: 31.07.2007
Beiträge: 36
Chewy befindet sich auf einem aufstrebenden Ast
Standard

Ich bekomme nur im Email statt der Umlaute ? sonst sind sie in der Variablen richtig, wenn ich sie zb mit echo anzeigen lasse.
Chewy ist offline  
Alt 29.12.2008, 10:34  
Neuer Benutzer
 
Registriert seit: 26.12.2008
Beiträge: 4
macstef befindet sich auf einem aufstrebenden Ast
Standard

Ich geb Dir mal die URL: Service - Prospekte

Wenn man dort Umlaute in der Adresse eingibt und die Prospekte mit den Umlauten, z.B. Haustüren, anklickt, werden in der Bestätigung die Umlaute falsch angezeigt.

Sowohl im PHP-Script, als auch im HTML-Formular habe ich UTF-8 Metadaten verwendet.

Gruß und Dank für die Infos bisher.

Geändert von macstef (29.12.2008 um 12:44 Uhr).
macstef ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Umlaute und MySQL4.1 Datenbanken 2 15.11.2009 15:28
[Erledigt] Seite wird falsch angezeigt und Code klappt nicht djscaleo PHP Tipps 2009 4 08.01.2009 15:12
[Erledigt] Datei wird mal wieder falsch angezeigt... djscaleo HTML, Usability und Barrierefreiheit 8 16.11.2008 11:33
[Erledigt] php rechnet nicht und daten werden falsch angezeigt djscaleo PHP Tipps 2008 6 02.11.2008 16:15
Umlaute und Ajax themonk JavaScript, Ajax und mehr 5 12.10.2008 18:30
Umlaute in Datenbank zerschossen. Wie reparieren? MatzeMuc86 Datenbanken 1 14.09.2008 17:48
Formular mit GET sendet Umlaute falsch BartTheDevil89 PHP Tipps 2008 3 30.08.2008 20:50
UTF8 Dump erzeugt nach import in UTF8 kod DB falsche Umlaute Carino Datenbanken 18 07.05.2007 23:49
HTML-Ausgabe mit php Umlaute imagica PHP Tipps 2006 3 21.08.2006 12:42
Umlaute werden falsch dargestellt Datenbanken 2 12.10.2005 13:28
*kyrillische* zeichen werden falsch angezeigt PHP Tipps 2005 22 19.03.2005 00:51
falsch dargestellte umlaute in db ändern - replace() nautiluS Datenbanken 1 30.12.2004 20:22
[Erledigt] Umlaute werden falsch maskiert PHP Tipps 2004-2 4 11.11.2004 13:19
MySQL Umlaute werden in PHP nicht richtig angezeigt PHP Tipps 2004 5 25.10.2004 20:36
Datensätze werden falsch angezeigt(Tabellen) PHP Tipps 2004 3 24.07.2004 20:18

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-tipps-2008/50149-umlaute-im-mailfomular-werden-falsch-angezeigt.html, mac mail umlaute falsch, thunderbird 3 umlaute, thunderbird 3 umlaute falsch, thunderbird umlaute falsch, umlaute werden falsch angezeigt html mail, php mail umlaute falsch, php html mail fehlerhafte umlaute, php umlaute werden falsch dargestellt, umlaute falsch angezeigt thunderbird, umlaute thunderbird 3, formular umlaute falsch, formular email versenden umlaute, umlaute werden falsch angezeigt, php formular umlaute falsch <?php echo, apple mail umlaute falsch, apple mail umlaute werden nicht richtig angezeigt, web formular sendet umlaute falsch, kontaktformular umlaute falsch, thunderbird umlaute falsch dargestellt

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum