Hallo, mal wieder der Anfänger, diesmal bin ich bei PHP angelangt.
Kontaktformular aus der PHP DVD und der damit verbundene Versand der email: Warum sind harte Returns, Umlaute und das "ß" nicht in der email dargestellt?
Obiger Titel ist glaube ich eindeutig. Danke für die Hilfe. Wenn man mehr Infos braucht bitte kurze Rückantwort.
hier der Code:
PHP
<?php
function is_mail ($testmail)
{
$suchmuster = "/^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$/";
$erg = preg_match($suchmuster, $testmail);
return ($erg > 0);
}
function is_telefon ($testtelefon)
{
$suchmustertelefon = "/^[\d.]+([0-9])$/";
$ergtelefon = preg_match($suchmustertelefon, $testtelefon);
return ($ergtelefon > 0);
}
$nachname = '';
$anrede = '';
$textinhalt = '';
$emailadresseversender = '';
$telefon = '';
$kontrolle = '';
if ( isset ( $_REQUEST['nachname'] ) )
{
$nachname = strip_tags ($_REQUEST['nachname']);
$nachname = htmlentities ($nachname);
}
if ( isset ( $_REQUEST['anrede'] ) )
{
$anrede = $_REQUEST['anrede'];
}
if ( isset ( $_REQUEST['emailadresseversender'] ) )
{
$emailadresseversender = $_REQUEST['emailadresseversender'];
}
if ( isset ( $_REQUEST['telefon'] ) )
{
$telefon = $_REQUEST['telefon'];
}
if ( isset ( $_REQUEST['textinhalt'] ) )
{
$textinhalt = strip_tags ($_REQUEST['textinhalt']);
$textinhalt = htmlentities ($textinhalt);
}
if ( isset ( $_REQUEST['kontrolle'] ) )
{
$kontrolle = $_REQUEST['kontrolle'];
}
if ($nachname =='' or
$anrede == '' or
$emailadresseversender == '' or
is_mail ($emailadresseversender) == false or
$telefon == '' or
is_telefon ($telefon) == false or
$textinhalt =='')
{
if ( $kontrolle != '')
{
if ( $nachname == '')
{echo "<li> Bitte Nachnamen eintragen. Danke";}
if ( $anrede == '')
{echo "<li> Die Anrede bitte eingeben. Danke";}
if ( $emailadresseversender == '')
{echo "<li> Sie haben keine email Adresse eingetragen!";}
if ( $telefon == '')
{echo "<li> Sie haben keine Telefonnummer eingetragen!";}
if ( $textinhalt == '')
{echo "<li> Sie haben kein Anliegen / Kommentar eingetragen!";}
if (is_mail ($emailadresseversender) == false)
{echo "<li>email Adresse ist falsch - bitte neu eingeben. Danke";}
if (is_telefon ($telefon) == false)
{echo "<li>Telefonnummer ist falsch - bitte neu eingeben. Danke";}
}
?>
<form
action="kontakt.php"
method="post">
<p>Anrede: <br>
Frau:
<input
type="radio"
name="anrede"
value="Frau"
<?php
if ($anrede == 'Frau')
{
echo 'checked="checked"';
}?>
>
Herr:
<input
type="radio"
name="anrede"
value="Herr"
<?php
if ($anrede == 'Herr')
{
echo 'checked="checked"';
}?>
>
<p>Name (gerne Vor- und Nachname):<br>
<input
type="text"
name="nachname"
value="<?php echo $nachname;?>">
<p>Ihre email-Adresse (Pflichtfeld): <br>
<input
type="text"
name="emailadresseversender"
size="40"
value="<?php echo $emailadresseversender;?>">
<p>Ihre Telefonnummer (bitte ohne Leerzeichen): <br>
<input
type="tel"
name="telefon"
size="15"
value="<?php echo $telefon;?>">
<p>Anliegen / Nachricht: <br>
<textarea
rows="10"
cols="80"
name="textinhalt"><?php
echo $textinhalt;
?></textarea>
<input
type="hidden"
name="kontrolle"
value="<?php echo time();
?>">
<p>
<input
type="submit"
name="submit"
value="Absenden"
></p>
</form>
<?php
}
else
{
echo "<p><b>Zur Information! <br>Folgende Informationen wurden gesendet:</b></p>";
echo "<b>Von:</b> $anrede $nachname <br>";
echo "<b>Mit email - Adresse:</b> $emailadresseversender <br>";
echo "<b>Mit Telefonnummer:</b> $telefon <br>";
echo "<br><b>Folgende Nachricht wurde weitergeleitet:</b><br> $textinhalt";
$an = 'sternberg.konrad@web.de';
$betreff = 'Nachricht von der Internetseite www.einsterneinberg.de: ';
$nachricht = "Von: ".$anrede." ".$nachname." - Von email: ".$emailadresseversender." - Mit Telefonnummer: ".$telefon." - Inhalt der Nachricht: ".$textinhalt;
$headers = 'From: sternberg.konrad@web.de'."\r\n" . 'Reply-To: sternberg.konrad@web.de'."\r\n" . 'X-Mailer: PHP/'.phpversion();
mail($an, $betreff, $nachricht, $headers);
}
?>
Alles anzeigen