Ich hab das Problem das wenn ich die Email eingebe und das Anliegen nicht bekomm ich die
Rückmeldung das die Email nich korrekt ist aber wenn ich beide Felder ausfülle wird das Formular
abgeschickt auch wenn die Email nicht valide ist.
das mail() ist auskommentiert weil ich das noch auf dem localhost hab und kein mail server dahinter hab.
Wo muss ich jetzt die bedingung rein tun damit das Formular nicht abgeschickt wird.
mfg devilseye
Tipps und anregungen für schöneres Schreiben sind gerne Willkommen.
Rückmeldung das die Email nich korrekt ist aber wenn ich beide Felder ausfülle wird das Formular
abgeschickt auch wenn die Email nicht valide ist.
PHP:
<?php
require_once ('library.php');
if ( $_GET['mail'] == "" or $_GET['anliegen'] == "" )
{
echo '<form action="kontakt.php" method="get">';
echo '<h1>Kontaktformular</h1>';
if ( $_GET['mail'] <> "" )
{
if ( is_mail($_GET['mail']) == false )
{
echo "<p>E-Mail-Adresse ist Falsch - korrigieren</p>";
$_GET['mail'] = "";
}
}
if ( $_GET['abgesendet'] == "ja" )
{
echo '<p>Bitte beide Felder ausfüllen</p>';
}
echo '<p>E-Mail-Adresse</p><br />';
echo '<input type="text" name="mail" value="';
echo $_GET['mail'];
echo '" size="30" />';
echo '<p>Ihre Nachricht</p><br />';
echo '<textarea name="anliegen" rows="7" cols="60">';
echo $_GET['anliegen'];
echo '</textarea><br />';
echo '<input type="hidden" name="abgesendet" value="ja" />';
echo '<input type="submit" value="senden" />';
echo '</form>';
}
else
{
echo '<h1>Vielen Dank ...</h1>';
echo '<p>Vielen Dank für Ihre Nachricht</p>';
/*$header = 'From: [email protected]' . "\r\n" . 'Reply-To: [email protected]' . "\r\n" . 'X-Mailer: PHP/' . phpversion();
$empfaenger = "[email protected]";
$betreff = "Anfrage von Website: ";
$inhalt = "Anfrage von Website ". $_GET['anliegen'] ;
$inhalt .= "Anfrage von Email ". $_GET['mail'] ;
mail ( $header, $empfaenger, $betreff, $inhalt ) ; */
}
?>
PHP:
<?php
// Ueberpruefung der Mail adresse auf Validität
function is_mail ( $testmail ) {
$suchmuster = "/^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$/";
$erg = preg_match($suchmuster, $testmail);
return ($erg > 0);
}
?>
das mail() ist auskommentiert weil ich das noch auf dem localhost hab und kein mail server dahinter hab.
Wo muss ich jetzt die bedingung rein tun damit das Formular nicht abgeschickt wird.
mfg devilseye
Tipps und anregungen für schöneres Schreiben sind gerne Willkommen.