hallo User, habe in meinem Kontaktformular Umlautefehler beim versenden an eine Email Adresse. Die Umlaute werden nicht nach UFT-8 dargestellt so das man Ä Ö Ü erkennen kann.
ich habe euch mal hier code gepostet der vielleicht wichtig ist um das Problem zu veranschaulichen.
Ich danke auch dem Praktikant von xhtml der schon vielle ansätze probiert hat.
(
http://xhtmlforum.de/59426-kontaktfo...tml#post453058)
Kontakt.php
PHP-Code:
<?
/***************************************************************************
* *
* copyright : (C) 2008 Daniel Kauser *
* email : danysahne333@mail.ru *
* website : www.cb-talk.de/captcha.html *
* *
* *
* *
***************************************************************************/
/***************************************************************************
* *
* Diese Script ist gratis. Viele andere Scripte kosten viel Geld doch *
* ich und zum Gl�ck auch noch ein paar andere sind gegen sowas und *
* bieten unsere Scripte gratis an. Deshalb l�scht nicht den copyright *
* von mir damit wir kein Stress kriegen *
* *
***************************************************************************/
// Alle Fehler und Notices anzeigen
error_reporting(E_ALL);
session_start();
$CAPTCHA_TempString="";
// Zufallsfunktion für Zahlen und Buchstaben
function GetRandomChar() {
// Zufallszahl generieren
mt_srand((double)microtime()*1000000);
$CAPTCHA_RandVal = mt_rand(1,2);
// Buchstabensalat generieren jeh nachdem ob Randval 1 oder 2 ist
switch ($CAPTCHA_RandVal) {
case 1:
// Zahlen 0-9
$CAPTCHA_RandVal = mt_rand(48, 57);
break;
case 2:
// Grosse Buchstaben
$CAPTCHA_RandVal = mt_rand(65, 90);
break;
}
// Zufallscode ausgeben
return chr($CAPTCHA_RandVal);
}
// Zufallscode x-stellig ausgeben
for ($i = 1; $i <= 6; $i++) {
$CAPTCHA_TempString .= GetRandomChar();
}
// Text in Sessionvariable speichern
if (isset($CAPTCHA_TempString)) {
$_SESSION["CAPTCHA_RndText"] = str_replace('I','E',str_replace('0','3',str_replace('1','S',str_replace('B','F',str_replace('O','P',str_replace('4','A',str_replace('D','K',$CAPTCHA_TempString)))))));
} else {
die("Zufallscode konnte nicht generiert werden!");
}
?>
<!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" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="language" content="de" />
<title>Kontaktformular</title>
</head>
<body>
<br />
<div style="border: 1px #000 solid; width: 350px; padding: 5px;">
<h3>Kontaktformular</h3>
<form method="post" action="index.php?P=kontakt_ausw" name="kontakt">
<table>
<tr><td><p>Name: </p></td><td><p><input name="name" size="34" type="text" <?if (isset($_SESSION['name'])) { echo 'value="' . $_SESSION['name'] . '"'; }?>/></p></td></tr>
<tr><td><p>Email: </p></td><td><p><input name="email" size="34" type="text" <?if (isset($_SESSION['email'])) { echo 'value="' . $_SESSION['email'] . '"'; }?>/></p></td></tr>
<tr><td><p>Betreff: </p></td><td><p><input name="betreff" size="34" type="text" <?if (isset($_SESSION['betreff'])) { echo 'value="' . $_SESSION['betreff'] . '"'; }?>/></p></td></tr>
<tr><td><p>Nachricht: </p></td><td><p><textarea name="nachricht" rows="3" cols="26"><?if (isset($_SESSION['nachricht'])) { echo $_SESSION['nachricht'] ; }?></textarea></p></td></tr>
<tr><td> </td><td><img border="0" src="captcha_img.php?PHPSESSID=<?echo session_id();?>&ver=<?echo time();?>" alt="" /></td></tr>
<tr><td><p>Code: </p></td><td><p><input maxlength="6" name="txtCode" size="34" type="text" /></p></td></tr>
<tr><td> </td><td><p><input class="button" type="submit" name="eintrag" value="Senden" /> <input class="button" type="reset" name="reset" value="löschen" /></p></td></tr>
</table>
</div>
</form>
</body>
</html>
Kontakt_ausw.php
PHP-Code:
<br />
<?
// Session starten und confog.php includen
session_start();
include ("config.php");
// CaptchaCodes abfragen
$CAPTCHA_RandomText = "";
if (isset($_POST['txtCode'])){
$CAPTCHA_EnteredText = str_replace("<","",str_replace(">","",str_replace("'","",str_replace("[","",str_replace("]","",$_POST['txtCode'])))));
}
if (isset($_SESSION['CAPTCHA_RndText'])) {
$CAPTCHA_RandomText = $_SESSION['CAPTCHA_RndText'];
}
// Eingabefelder abfragen
$_SESSION['name'] = $_POST['name'];
$_SESSION['email'] = $_POST['email'];
$_SESSION['betreff'] = $_POST['betreff'];
$_SESSION['nachricht'] = $_POST['nachricht'];
$email_i = $_SESSION['email'];
// Email Funktion
function pruefe_mail($email_i) {
if(strstr($email_i, "@")) {
$email_i = explode ("@", $email_i);
if(strstr($email_i[1], ".")) $ok = TRUE;
}
return $ok;
}
// Eingaben prüfen
$fehler = "";
if(!pruefe_mail($email_i) && !empty($email_i)) {
$fehler .= "<li>Email fehlerhaft!</li>";
}
if ($_SESSION['name'] == ""){
$fehler .= "<li>Name fehlt!</li>";
}
if ($_SESSION['email'] == ""){
$fehler .= "<li>Email fehlt!</li>";
}
if ($_SESSION['betreff'] == ""){
$fehler .= "<li>Betreff fehlt!</li>";
}
if ($_SESSION['nachricht'] == ""){
$fehler .= "<li>Nachricht fehlt!</li>";
}
if ($CAPTCHA_EnteredText == $CAPTCHA_RandomText and isset($_POST['txtCode']) == true and isset($_SESSION['CAPTCHA_RndText'])){
$captcha = true;
} else {
$fehler .= "<li>Captcha fehlt oder fehlerhaft!</li>";
}
echo '<div style="border: 1px #000 solid; width: 350px; padding: 5px;">';
if ($fehler == ""){
// Email zumsammensetzen
$email = "From: " . $_SESSION['email'];
$nachrichtfertig = $_SESSION['name']. " schrieb: \n\n" . $_SESSION['nachricht'];
$versand = mail($empfaenger, $_SESSION['betreff'], $nachrichtfertig, $email);
if ($versand) {
echo '<h3>Kontaktformular</h3>
<p>Email ist erfolgreich versendet worden!</p>';
// Sessionvariablen löschen
unset($_SESSION['name']);
unset($_SESSION['email']);
unset($_SESSION['betreff']);
unset($_SESSION['nachricht']);
}
} else {
echo '<h3>Kontaktformular</h3>';
echo $fehler;
echo '<p><a href="index.php?P=kontakt">zurück</a></p>';
}
echo '</div>';
// Session unset
unset($_SESSION['CAPTCHA_RndText']);
?>
config.php
PHP-Code:
<?
/***************************************************************************
* *
* copyright : (C) 2008 Daniel Kauser *
* email : danysahne333@mail.ru *
* website : www.cb-talk.de/captcha.html *
* *
* *
* *
***************************************************************************/
/***************************************************************************
* *
* Diese Script ist gratis. Viele andere Scripte kosten viel Geld doch *
* ich und zum Glück auch noch ein paar andere sind gegen sowas und *
* bieten unsere Scripte gratis an. Deshalb löscht nicht den copyright *
* von mir damit wir kein Stress kriegen *
* *
***************************************************************************/
$empfaenger = "info@test.de"; // Emailadresse hier eintragen
$imagettftext = "1"; // Alternative Grafik-Zeichenfunktion nutzen? (bei fehlerhafter Darstellung
// oder fehlendem Truetype-support) 1=nein, 2=ja
$Welleneffekt = "1"; // Welleneffekt nutzen? 1=nein, 2=ja
$Schrift = "1"; // Shriftart wählen (1, 2, 3)
$Textgroesse = "32"; // Textgrösse
$Texthoehe = "47"; // Texthöhe
$bg1 = "captcha_files/background1.png"; // Hintergrund 1 laden
$bg2 = "captcha_files/background2.png"; // Hintergrund 2 laden
$ov1 = "captcha_files/overlay1.png"; // Overlay 1 laden
$ov2 = "captcha_files/overlay2.png"; // Overlay 2 laden
?>