Trotz Version 2.7 klappt irgendwie die Sonderzeichendarstellung nicht.
Welche Zeilen im Script regeln das eigentlich?
<?php
// GammaGroup Kontaktscript
// All rights by Moosa (Klaus Mooser)
// Support gibts hier: (http://www.Neandertaler.net) (Moosa@web.de)
// Version 2.7.
// E-Mail Adresse des Empfängers (Im Normalfall Ihre eigene) einfach zwischen den beiden "" einfügen.
$adresse = "info@xyz.de";
// Soll als Absenderadresse Ihre eigene oder die des Kontaktaufnehmenden benutzt werden?
// Bei manchen Providern ist es zwingend notwendig, dass die eigene benutzt wird
// 0 = eigene 1 = Besucher
$absender = "1";
// Hier kann definiert werden, nach wievielen Zeichen ein automatischer Zeilenumbruch eingefügt werden soll,
// wenn sie $umbruch = "no" eingeben, wird kein automatischer Zeilenumbruch eingefügt.
$umbruch = "70";
//bestimmen der Hintergrundfarbe:
$bgcolor = "#fff";
//bestimmen der Textfarbe:
$textcolor = "#666";
//bestimmen der Textfarbe der Fehler:
$fehlercolor = "#FF3300";
// Hier können Sie definieren, was über dem Kontaktformular stehen soll:
$head = "Kontaktformular";
//Betreff
$betreff = "Mitteilung Kontaktformular";
// Bei manchen Webhoster ist es notwendig, dass noch ein zusätzlicher Parameter übergeben wird, der Ihre E-Mail-Adresse
// enthält.
// Bei den meisten Hostern ist dies nicht notwendig, dann müssen Sie zwischen die beiden "" nichts einfügen
// aber z.B. bei Hosteurope ist die Angabe zwingend und dann müssen sie hier eine Ihrem Webpack zugehörige und
// eingerichtete E-Mail-Adresse eintragen, z.B. in dieser Form: $add = "info@ihre_webpack_domain.tld"
// NOCHMAL: Setzen Sie hier nur was ein, wenn Sie wissen das es notwendig ist!!!
$add = "info@xyz.de";
// Ab hier sollten Sie nur noch etwas ändern, wenn sie wissen was sie tun,
// bzw. wenn sie noch mehr am Design ändern wollen.
//hier wird die Länge der verschiedenen Eingaben ermittelt
$lengthm = strlen($_POST["send"]["mail"]);
$lengtha = strlen($_POST["send"]["name"]);
$lengthv = strlen($_POST["send"]["vorname"]);
$lengthn = strlen($_POST["send"]["nachricht"]);
// der Zähler wird auf null gesetzt
$i = "0";
// Je nachdem welche Adresse als Absender benutzt werden soll, wird die Variable beschrieben:
if ($absender == "0") {
$from = $adresse ; }
else { $from = $_POST["send"]["mail"] ; }
//Nun überprüfen wir die Eingaben auf alle möglichen Fehler (Es muss überall was eingegeben werden,
// die Einträge dürfen eine bestimmte Länge nicht überschreiten und die E-Mail-Adresse muss ein @ enthalten)
// Ausserdem darf im Namensfeld kein @ Zeichen enthalten sein und in der Adresse nicht mehr als eins.
// Das ist notwendig, damit im vierten Parameter keine CC oder BCC Adressen übergeben werden können.
// Und zu guter Letzt werden die Sonderzeichen für die HTML-Ausgabe codiert und die Backslashes aus der Mail entfernt
if(isset($_POST["send"]) && is_array($_POST["send"])) {
if(empty($_POST["send"]["vorname"])) {
$fvorname = "<p>Please fill in your first name!</p>";
} else { $fvorname = "<p>Vorname ok!</p>"; $i++; }
if(empty($_POST["send"]["name"])) {
$fname = "<p>Please fill in your name!</p>";
} else { $fname = "<p>Name ok!</p>"; $i++; }
if(empty($_POST["send"]["mail"])) {
$fmail = "<p>Please fill in your e-mail address!</p>";
} else { $fmail = "<p>Adresse ok!</p>"; $i++; }
if(empty($_POST["send"]["nachricht"])) {
$fnachricht = "<p>Please fill in your message!</p>";
} else { $fnachricht = "<p>Message ok!</p>"; $i++; }
if ($lengthm > "50") {
$flmail = "<p>Your E-Mail-address is invalid!</p>"; $fmail = ""; }
else { $i++; }
if ($lengtha > "30") {
$flname = "<p>Your filled in first name ist too long!</p>"; $fname = ""; }
else { $i++; }
if ($lengthv > "30") {
$flvorname = "<p>Your filled in name is too long!</p>"; $fvorname = ""; }
else { $i++; }
if ($lengthn > "60000") {
$flnachricht = "<p>Your message must not exceed<br> 60000 characters! Your message has: ".$lengthn."</p>"; $fnachricht = ""; }
else { $i++; }
if (!strpos($_POST["send"]["mail"], "@") == "false" or substr_count($_POST["send"]["mail"], "@") > 1) {
$fgmail = "<p>Please fill in a valid mail address!</p>"; $fmail = ""; }
else { $i++; }
if (substr_count($_POST["send"]["name"], "@") >= 1) {
$fgname = "<p>For safety reasons your message must not contain the @-sign!</p>"; $fname = "";
} else { $i++; }
$str = ":\/,\"";
if (strcspn($_POST["send"]["mail"], $str) < $lengthm) {
$fgmail = "<p>Your filled in mail address is invalid!</p>"; $fmail = "" ;
} else { $i++ ; }
if (get_magic_quotes_gpc() == "1") {
$_POST["send"]["vorname"] = stripslashes($_POST["send"]["vorname"]);
$_POST["send"]["name"] = stripslashes($_POST["send"]["name"]);
$_POST["send"]["mail"] = stripslashes($_POST["send"]["mail"]);
$_POST["send"]["nachricht"] = stripslashes($_POST["send"]["nachricht"]);
}
$sname = htmlspecialchars($_POST["send"]["name"]);
$smail = htmlspecialchars($_POST["send"]["mail"]);
$svorname = htmlspecialchars($_POST["send"]["vorname"]);
$snachricht = htmlspecialchars($_POST["send"]["nachricht"]);
}
//Wenn alles korrekt eingegeben wurde, wird die Mail nun erst formatiert und dann verschickt
if(isset($_POST["send"]) && is_array($_POST["send"])) {
if ($i == "11") {
$name = $_POST["send"]["name"];
if ($umbruch == "no") {
$firma = $_POST["send"]["firma"];
$vorname = $_POST["send"]["vorname"];
$name = $_POST["send"]["name"];
$strasse = $_POST["send"]["strasse"];
$ort = $_POST["send"]["ort"];
$land = $_POST["send"]["land"];
$telefon = $_POST["send"]["telefon"];
$mail = $_POST["send"]["mail"];
$texto = $_POST["send"]["nachricht"] ;
}
else { $texto = wordwrap( $_POST["send"]["nachricht"], $umbruch ); }
$_POST["text"] = $_POST["send"]["vorname"]." " .$_POST["send"]["name"]." mit der Mail Adresse: ".$_POST["send"]["mail"]." hat Ihnen folgende Nachricht gesendet: \n
Firma: ".$_POST["send"]["firma"]."\n
Vorname: ".$_POST["send"]["vorname"]."\n
Name: ".$_POST["send"]["name"]."\n
Strasse: ".$_POST["send"]["strasse"]."\n
Ort: ".$_POST["send"]["ort"]."\n
Land: ".$_POST["send"]["land"]."\n
Telefon: ".$_POST["send"]["telefon"]."\n
Nachricht:\n ".$_POST["send"]["nachricht"]."
";
$fname = "<h2>Ihre Mail wurde versendet!</h2>";
$fname = "";
$fmail = "";
$fnachricht = "";
$fvorname = "";
// Und ab dafür... je nachdem mit oder ohne additional_parameters
if(empty($add)) {
$addp = "";
if (@mail($adresse, $betreff, $_POST['text'], "From: \"$name\" <$from>")) {
$fname = "<h2>Ihre Mail wurde versendet!</h2>";
unset($svorname);
unset($sname);
unset($smail);
unset($snachricht);
} else {
$fname = "<h2>Fehler! Mail konnte nicht gesendet werden</h2>"; }
} else {
if (@mail($adresse, $betreff, $_POST['text'], "From: \"$name\" <$from>", "-f $add")) {
$fname = "<h2>Your Mail was posted!!</h2>";
unset($sname);
unset($svorname);
unset($smail);
unset($snachricht);
}
else {
$name = "<h2>Fehler! Mail konnte nicht gesendet werden</h2>"; }
}
}
}
// Hier kommt nun das eigentliche Formular in HTML + CSS
?>
???














