Jump to content


Sonderzeichen


  • Du kannst auf dieses Thema nicht antworten
No replies to this topic

#1 sue007

    Newbie

  • Mitglied
  • PIP
  • 2 Beiträge:

Geschrieben 06 Juni 2008 - 12:46

Hallo,

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
?>



???







1 Besucher lesen dieses Thema

0 members, 1 guests, 0 anonymous users