nascituruz
Neues Mitglied
Hi,
ich habe mich schon durch etliche Foren gewühlt und irgendwie nix gefunden, was dem Formular welches ich benutze beibringt, Umlaute als Umlaute zu senden
Ich hab den betreffenden Code mal mit angefügt
ich habe mich schon durch etliche Foren gewühlt und irgendwie nix gefunden, was dem Formular welches ich benutze beibringt, Umlaute als Umlaute zu senden
Ich hab den betreffenden Code mal mit angefügt
PHP:
<?php
session_start();
//if(get_magic_quotes_gpc()){
//stripslashen weil $_POST-Variablen automatisch escaped werden, wenn get_magic_quotes_gpc() aktiv ist
//foreach($_POST as $key => $value) {
//htmlentities() = wandelt alle geeigneten Zeichen in entsprechende HTML-Codes um
//trim() = alle Leerzeichen am Anfang und Ende des Strings entfernen
// $_POST[$key] = htmlentities(trim(stripslashes($value)),ENT_QUOTES);
// }
//}else{
//foreach($_POST as $key => $value) {
//$_POST[$key] = htmlentities(trim($value),ENT_QUOTES);
//}
//}
?>
<?php
$red = 'class="errorform"'; //bei Fehler roten Rahmen um Inputfeld zeichnen
setlocale(LC_ALL, 'de_DE'); //damit auch deutsche Umlaute etc. berücksichtigt werden
if(isset($_POST['senden'])){ //Wurde der Senden-Button gedrückt?
//bei leeren Feldern eine Fehlermeldung ausgeben
if(empty($_POST['name'])){$msg='Bitte Namen eingeben'; $errname=$red;}
else
if (!preg_match('/^[[:print:]]{5,}$/', $_POST['name'])){$msg='Ungültige, oder zu wenige Zeichen im Namen!'; $errname=$red;}
else
if(empty($_POST['email'])){$msg='Bitte Email eingeben'; $errmail=$red;}
else
if (!preg_match('/^[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}$/i', $_POST['email'])){$msg='Ungültiges Emailformat!'; $errmail=$red;}
else
if (!preg_match('/^[+0-9-]{3,}([\s\/\]?[0-9]{3,})$/', $_POST['telefon'])){$msg='Ungültige Telefonnummer'; $errtel=$red;}
else
if(empty($_POST['kommentar'])){$msg='Bitte Kommentar eingeben'; $errkom=$red;}
else
if (!preg_match('/^[[:print:][:space:]]{20,}$/', $_POST['kommentar'])){$msg='Ungültige, oder zu wenige Zeichen im Kommentar!'; $errkom=$red;}
else{ //alles OK
### Konfiguration ###
# Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!
# An welche Adresse sollen die Mails gesendet werden?
$strEmpfaenger = '[email protected]';
# Welche Adresse soll als Absender angegeben werden?
# (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
$strFrom = '"Kontaktformular" <[email protected]>';
# Welchen Betreff sollen die Mails erhalten?
$strSubject = 'Kontaktanfrage von sender.de';
# Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
# Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$strReturnhtml = 'http://danke.html';
# Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$strDelimiter = ":\t";
### Ende Konfiguration ###
if($_POST)
{
$strMailtext = "";
while(list($strName,$value) = each($_POST))
{
if(is_array($value))
{
foreach($value as $value_array)
{
$strMailtext .= $strName.$strDelimiter.$value_array."\n";
}
}
else
{
$strMailtext .= $strName.$strDelimiter.$value."\n";
}
}
if(get_magic_quotes_gpc())
{
$strMailtext = stripslashes($strMailtext);
}
$Name = "sender.de"; //senders name
$email = "[email protected]"; //senders e-mail adress
$recipient = $_POST['email']; //recipient
$mail_body = "Ich habe Ihre Email erhalten und werde schnellstmöglich antworten. Vielen Dank!"; //mail body
$subject = "sender.de - Kontaktformular"; //subject
$header = "von: ". $Name . " <" . $email . ">\r\n"; //optional headerfields
$header = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// zusätzliche Header
mail($recipient, $subject, $mail_body, $header); //mail command :)
mail($strEmpfaenger, $strSubject, $strMailtext, "von: ".$strFrom)
or die("Die Mail konnte nicht versendet werden. Bitte versuchen Sie es später noch einmal!");
echo "hat geklappt";
exit;
};
/*
ab hier können die Formulardaten weiterverarbeitet werden.
Zum Einfügen in eine MySQL-Datenbank sollte unbedingt mysql_real_escape_string() verwendet werden!
$sql = "INSERT INTO gaestebuch
(name, email, kommentar)
VALUES
('".mysql_real_escape_string($_POST['name'])."',
'".mysql_real_escape_string($_POST['email'])."',
'".mysql_real_escape_string($_POST['telefon'])."'
'".mysql_real_escape_string($_POST['kommentar'])."')";
*/
//alle verwendeten POST-Variablen wieder löschen
$_POST['name']=''; $_POST['email']='';$_POST['telefon']=''; $_POST['kommentar']=''; $_POST['pruefcode']='';
}
//evtl. Fehler ausgeben
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<form id="form1" method="post" action="<?php $PHP_SELF ?>"><p>
<label for="name">Name:</label><span> *</span><br />
<input <?=$errname;?> type="text" name="name" id="name" value="<?=$_POST['name'];?>" /><br /><br />
<label for="email">Email:<span> *</span></label><br />
<input <?=$errmail;?> type="text" name="email" id="email" value="<?=$_POST['email'];?>" /><br /><br />
<label for="telefon">Telefon:</label><span> *</span><br />
<input <?=$errtel;?> type="text" name="telefon" id="telefon" value="<?=$_POST['telefon'];?>" /><br /><br />
<label for="kommentar">Kommentar:<span> *</span></label><br />
<textarea <?=$errkom;?> name="kommentar" id="kommentar" cols="40" rows="12"><?=$_POST['kommentar'];?></textarea><br />
<span>*</span>Diese Felder müssen ausgefüllt werden!
</p>
<div>
<?if(!empty($msg)){echo '<p class="redfont fett">'.$msg.'</p>';}
?><input type="submit" class="button" name="senden" id="senden" value="Senden" />
</div>
</form>
</body>
</html>