| | | | |
| | |
| Neuer Benutzer Registriert seit: 27.06.2006
Beiträge: 13
![]() | Hallo allerseits! Ich hab ein kleines Script geschrieben, dass (von einem Formular) Daten bekommt, diese dann in eine CSV-Datei schreibt und eine Email mit der CSV-Datei als Anhang verschickt. Soweit sogut. Nur ergibt sich jetzt ein sehr störendes Problem: Umlaute werden in der CSV-Datei falsch dargestellt! Ich finde aber den Fehler einfach nicht ... Meine Frage also: Was stimmt an meinem Code nicht? Code: <?php
// Administrator - Email
// Name der CSV-Datei, Empfaenger, Absender, Betreff, Mailtext, Ueberschriftszeile der CSV-Datei, Dankeschoen-Text, Error-Text
$filename = "formular_email.csv";
$receiver = "xxx@xxx.de";
$sender = "Webmaster <webmaster@xxx.net>";
$subject = "Anmeldedaten aktuell";
$mailText = "Anbei die aktuellsten Anmelde-Daten.";
$csvHead = "Vorname;Zuname;Firma;PLZ;Ort;Strasse;E-Mailadresse";
$thanks = "Herzlichen Dank für Ihre Anmeldung!";
$error = "Ihre Daten konnten nicht weitergeleitet werden.
Bitte wenden Sie sich an den Webmaster.";
$nextPage = "http://xxx.de/main20.htm";
// User - Email
// Empfaenger, Absender, Befreff, Mailtext
$ureceiver = $_POST["frage_07"];
// prueft ob die CSV-Datei bereits existiert
if (!file_exists($filename))
$answers = $csvHead."\n";
else
$answers = "\n";
// Formulardaten in in einen String schreiben
$answers.= $_POST["frage_01"];
for ($i = 2; $i < 8; $i++) {
$answers.= ";".$_POST["frage_0".$i];
}
// Formulardaten in an CSV-Datei anhaengen
$fpointer = fopen($filename, "a+");
fputs($fpointer, $answers);
fclose($fpointer);
// Hier wird der Textstring der Abgrenzung generiert
$boundary = md5(uniqid(rand()));
// Das sind die Kopfzeilen der Multipart Mail
$header = "MIME-Version: 1.0\n";
$header.= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"\n";
// zusaetzliche Header
$header .= "From: ".$sender."\n\n";
// HTML-Text
$text.= "--".$boundary."\n";
$text.= "Content-Type: text/html; charset=\"UTF-8\"\n";
$text.= "Content-Transfer-Encoding: 8bit\n\n";
$text.= "
<html>
<head>
<title>".$subject."</title>
</head>
<body>
".$mailText."
</body>
</html>\n";
// CSV-Datei
$text.= "--".$boundary."\n";
$text.= "Content-Type: text/comma-separated-values name=".$filename."\n";
$text.= "Content-Transfer-Encoding: base8\n";
$text.= "Content-Disposition: attachment; filename=".$filename."\n\n";
// die Datei wird komplett in einen String eingelesen und in die Mail eingefuegt
$attachment = file_get_contents($filename);
$text.= $attachment."\n";
// abschliessnde Begrenzung der Multipart-Mail
$text.= "--".$boundary."--\n";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Danke</title>
<link rel='stylesheet' type='text/css' href='../style.css'>
<style type='text/css'>
body.main { background: #323232; }
</style>
</head>
<body>
<?
// EMail abschicken
if (mail($receiver, $subject, $text, $header)) {
?>
echo "<h1>".$thanks."</h1>";
// mail($ureceiver, $usubject, $umailtext, "from:$usender");
} else {
echo "<h1>".$error."</h1>";
}
?>
weiter
</body>
</html>
|
| |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 23.08.2007
Beiträge: 1.510
![]() | http://en.wikipedia.org/wiki/MIME#Co...nsfer-Encoding http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html ausserdem solltest du evtl. mal hier nachschaun wenn du jetzt schon Porbleme bekommst. http://phpmailer.sourceforge.net/ |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Erledigt] Galerie Problem... | coraplanet | PHP Tipps 2008 | 4 | 06.06.2008 13:42 |
| Sessions Problem | StephenKing | PHP Tipps 2008 | 3 | 16.10.2007 08:30 |
| datensätze defekt oder problem mit dem einlesen? | Ministry | Datenbanken | 4 | 06.07.2006 18:42 |
| problem!!! | PHP Tipps 2006 | 6 | 08.02.2006 11:06 | |
| [Erledigt] wieder ein Problem bei phpmailer und smtp | PHP Tipps 2006 | 24 | 07.02.2006 01:07 | |
| [Erledigt] Problem bei Massenmails versenden mit der Funktion mail | PHP-Fortgeschrittene | 3 | 19.01.2005 13:36 | |
| [Erledigt] Problem mit Übergabe einer Klasse in PHP4 | PHP-Fortgeschrittene | 10 | 08.01.2005 21:00 | |
| Problem mit Weiterleitung | PHP Tipps 2004-2 | 16 | 22.12.2004 17:49 | |
| Smarty und PHP-Skript Problem | PHP Tipps 2004-2 | 2 | 03.12.2004 22:27 | |
| [Erledigt] PHP Upload (Master Value/Local Value Problem) | PHP-Fortgeschrittene | 5 | 23.11.2004 07:21 | |
| Problem mit alter JavaScript-Funktion | woods | PHP Tipps 2004 | 1 | 13.08.2004 13:34 |
| [Erledigt] Problem mit Timestamp! | PHP Tipps 2004 | 24 | 08.06.2004 19:51 | |
| Login Problem | PHP Tipps 2004 | 4 | 04.06.2004 18:46 | |
| foreach problem | mAy^daY | PHP Tipps 2004 | 3 | 02.06.2004 20:29 |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| csv codierung, codierung csv, http://www.php.de/php-tipps-2006/42948-problem-mit-csv-codierung.html, csv codierung php, php csv codierung, csv kodierung, kodierung csv, excel csv codierung, csv codieren, excel csv kodierung, php csv kodierung, csv datei codierung, codierung csv herausfinden, content-type csv, php csv encoding, codierung csv datei, text codierung bei csv, php csv head, content-transfer-encoding csv, \csv php utf8 ausgeben\ |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.