 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
21.04.2008, 12:57
|
#1
|
|
TP-Veteran
Registriert seit: May 2003
Ort: krefeld
|
ein php-formmail liefert keine sonderzeichen
hallo, ein formmail-script was bei einem bekannten eingesetzt wird tut eigentlich einwandfrei bis auf die tatsache , dass die sonderzeichen nicht richtig dargestellt werden
PHP-Code:
$firma = $_POST['firma'];
$anrede = $_POST['anrede'];
$vorname = $_POST['vorname'];
$name = $_POST['name'];
$str = $_POST['str'];
$plz = $_POST['plz'];
$ort = $_POST['ort'];
$telefon = $_POST['telefon'];
$fax = $_POST['fax'];
$mail = $_POST['email'];
$nachricht = $_POST['bemerkungen'];
$webmaster = "info@domain.de";
$absender = "webmaster@domain.de";
$betreffwebmaster = "kontakt von domain.de";
$koerperwebmaster = "$anrede $vorname $name ($mail - $firma) hat ueber die Webseite von http://domain.de folgende Nachricht hinterlassen:\n\n<br />
$str\n<br />
$plz $ort\n<br />
$telefon\n<br />
$fax\n\n<br /><br />
Nachricht: $nachricht
";
$betreffabsender = "kontakt von domain.de";
$koerperabsender = "Herzlichen dank fuer Ihre nachricht an uns.\n\n
Sie haben uns folgendes geschrieben:\n
$anrede $name ($mail - $firma) hat ueber die Webseite von http://domain.de folgende Nachricht hinterlassen:\n\n
$str\n
$plz $ort\n
$telefon\n
$fax\n\n
Nachricht: $nachricht
\n";
$action = 2;
$sUrlMailFalsch = "http://domain.de/mailfalsch.php";
$sUrlFelderLeer = "http://domain.de/felderleer.php";
$sUrlMailVersendet = "http://domain.de/mailversendet.php";
$mailfalsch = "<h2 class=\"title\">Fehler</h2><p>Leider ist die E-Mail-Adresse falsch</p><p>Bitte kontrollieren Sie noch einmal die Eingabe und senden das Formular erneut ab.</p><input type='button' name='Schaltfläche' value='zurück zum formular' onClick='javascript:history.back();' class='formstil'>";
$felderleer = "<h2 class=\"title\">Fehler</h2><p>Die Nachricht konnte nicht versandt werden, da nicht alle Pflichtfelder (*) ausgefüllt wurden.</p><input type='button' name='Schaltfläche' value='zurück zum formular' onClick='javascript:history.back();' class=\"kasten\">";
$abgesandt = "<h2 class=\"title\">Wir danken Ihnen,</h2>
<p>Sie haben folgendes geschrieben:<br />
Vorame: $vorname<br />
Name: $name<br />
Email: $email<br /><hr />
$str<br />
$plz $ort<br />
$telefon<br />
$fax<br /><br />
Nachricht: $nachricht</p>
<p><b>Ihre Nachricht wurde versandt und wir melden uns bei Ihnen.</b></p>";
$mailheader = "From: ".$mail."<noreply@" .$_SERVER['SERVER_NAME']. ">\r\n";
$mailheader .= "Reply-To: Mail Daemon<noreply@" .$_SERVER['SERVER_NAME']. ">\r\n";
$mailheader .= "Return-Path: noreply@" .$_SERVER['SERVER_NAME']. "\r\n";
$mailheader .= "MIME-Version: 1.0\r\n";
$mailheader .= "Content-Type: text/html; charset=utf-8\r\n";
$mailheader .= "Content-Transfer-Encoding: 8bit\r\n";
$mailheader .= "Message-ID: <" .time(). "noreply@" .$_SERVER['SERVER_NAME']. ">\r\n";
$mailheader .= "X-Mailer: PHP v" .phpversion(). "\r\n";
if ($vorname == "" || $name =="" || $str =="" || $plz =="" || $ort =="" || $telefon =="" || $mail =="") {
if ($action == 1)
header("location:".$sUrlFelderLeer);
else echo "$felderleer";
}
else {
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
return base64_encode($result);
}
$sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "8h384ls94");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
$sicherheitscode = $_POST['sicherheitscode'];
if (ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $mail)) {
mail("$webmaster","$betreffwebmaster","$koerperwebmaster","$mailheader");
if ($kopie == "ja") {
mail("$mail","$betreffabsender","$koerperabsender\n\n
-------------------------------------------------------------------------\n
----- Besuchen Sie uns im Web unter http://domain.de -----\n
-------------------------------------------------------------------------","FROM: $absender\n");
if ($action == 1) header("location:".$sUrlMailVersendet);
else echo "$abgesandt";
}
else{
if ($action == 1) header("location:".$sUrlMailVersendet);
else echo "$abgesandt";
}
}
else {
if ($action == 1) header("location:".$sUrlMailFalsch);
else echo "$mailfalsch";
}
}
es sit als utf-8 codiert 
__________________
computer tun nur das was man ihnen sagt, meistens
|
|
|
21.04.2008, 13:07
|
#2
|
|
TP-Urgestein
Registriert seit: Nov 2003
Ort: NRW
|
Ist die Datei an sich denn auch utf-8?
Bzw. auch das Formular, wo die Mailinhalte generiert werden?
|
|
|
21.04.2008, 13:36
|
#3
|
|
TP-Veteran
Registriert seit: May 2003
Ort: krefeld
|
im header steht
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">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
__________________
computer tun nur das was man ihnen sagt, meistens
|
|
|
21.04.2008, 13:39
|
#4
|
|
TP-Urgestein
Registriert seit: Nov 2003
Ort: NRW
|
Ich liebe diese Bröckchen-Kommunikation
Das hast Du schon alles gecheckt?
|
|
|
21.04.2008, 13:52
|
#5
|
|
TP-Specialist
Registriert seit: Jan 2004
Ort: Münster-Hiltrup
|
Ich hatte auch diese Probleme
Ich verwende
HTML-Code:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Seitdem funktioniert es bei mir einwandfrei..
|
|
|
21.04.2008, 14:13
|
#6
|
|
TP-Veteran
Registriert seit: May 2003
Ort: krefeld
|
accept-charset="utf-8" im form-tag hatte ich nicht, tut aber leider kein unterschied. ist der mailheader so io?
__________________
computer tun nur das was man ihnen sagt, meistens
|
|
|
22.04.2008, 07:55
|
#7
|
|
TP-Moderator
Registriert seit: Feb 2003
Ort: Erfurt
|
Mark hat gefragt.
Zitat:
|
Ist die Datei an sich denn auch utf-8?
|
.
Wenn du ne Win Maschine hast. Datei mit dem Windows-Editor öffnen, als Codierung utf-8 wählen und speichern. Ist das Problem nun immer noch da??
Charset-Angaben im Header-Bereich sind was anderes als das Abspeichern einer Datei mit UTF-8 Codierung. Beides muss gemacht werden.
__________________
Schöne Grüße aus Thüringen
Stephan Page
Stell Dir vor, hier steht was und keiner liest es!! schon entdeckt?? F1 ist ne geile Taste
Ich beantworte keine E-Mails. Bitte alle Fragen ins Forum
schon gehört??? Das Internet ist voll, die lassen keinen mehr rein!!
|
|
|
22.04.2008, 10:42
|
#8
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Da es sich hier um ein PHP-Skript handelt, ist es völlig egal, was man mit META angibt - meistens muss man via header() die Codierung noch angeben am Anfang des Skriptes:
header('Content-Type: text/html; charset=utf-8');
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| 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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 01:40 Uhr.
|
 |