romeodadon
Angesehenes Mitglied
Hallo, habe folgendes Problem,
habe nun ein Formular erstellt wo mann daten eingeben kann, diese werden dann in der SQL DB gespeichert.
Das ganze Funktioniert auch super!
Die überprüfung der Email adresse soweit läuft auch, er zeigt mir an ob die adresse ok ist oder nicht,
jedoch trägt er sie trotzdem in die DB ein!
Wie kann ich es verhindern das er die email, falls sie falsch ist nicht einträgt und den nutzer auffwordert diese nachzubessern?
Ah ja und wenn alles OK ist soll er rausgebend as die daten gespeicehrt sind und mann eine bestätigungsmail bekommt.
Würde mcih freunen wenn mit jemand helfen könnte.
Hier der Skript in dem die PHP Daten sind:
CODE
<body>
<?php
$email= $_POST['email'];
####
function PruefeMail($email) {
if (eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}", $email))
{ return TRUE; }
else
{ return FALSE; } }
####
$email = "$email";
echo $email."<br>";
####
if (PruefeMail($email))
{ echo "Emailadresse ist korrekt"; }
####
else
{ echo "Emailadresse ist fehlerhaft"; }
####
$email = "$email";
echo "<br><br><br>".$email."<br>";
if (PruefeMail($email))
{ echo "Emailadresse ist korrekt"; }
else
{ echo "Emailadresse ist fehlerhaft"; }
$link = mysql_connect('localhost', 'xxx', 'xxx');
if (!$link) {
die('Verbindung nicht möglich : ' . mysql_error());
}
// benutze Datenbank
$db_selected = mysql_select_db('usrxxx', $link);
if (!$db_selected) {
die ('Kann Datenbank nicht benutzen : ' . mysql_error());
}
$name= $_POST['name'];
$vorname= $_POST['vorname'];
$straße= $_POST['straße'];
$plz= $_POST['plz'];
$ort= $_POST['ort'];
$email= $_POST['email'];
$IP=$_SERVER['REMOTE_ADDR'];
$sqladd = ("INSERT INTO testfahrer (name,vorname,straße,plz,ort,email,ip) VALUES ('$name','$vorname','$straße','$plz','$ort','$email','$IP')");
mysql_query($sqladd);
?>
</body>
</html>
habe nun ein Formular erstellt wo mann daten eingeben kann, diese werden dann in der SQL DB gespeichert.
Das ganze Funktioniert auch super!
Die überprüfung der Email adresse soweit läuft auch, er zeigt mir an ob die adresse ok ist oder nicht,
jedoch trägt er sie trotzdem in die DB ein!
Wie kann ich es verhindern das er die email, falls sie falsch ist nicht einträgt und den nutzer auffwordert diese nachzubessern?
Ah ja und wenn alles OK ist soll er rausgebend as die daten gespeicehrt sind und mann eine bestätigungsmail bekommt.
Würde mcih freunen wenn mit jemand helfen könnte.
Hier der Skript in dem die PHP Daten sind:
CODE
<body>
<?php
$email= $_POST['email'];
####
function PruefeMail($email) {
if (eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}", $email))
{ return TRUE; }
else
{ return FALSE; } }
####
$email = "$email";
echo $email."<br>";
####
if (PruefeMail($email))
{ echo "Emailadresse ist korrekt"; }
####
else
{ echo "Emailadresse ist fehlerhaft"; }
####
$email = "$email";
echo "<br><br><br>".$email."<br>";
if (PruefeMail($email))
{ echo "Emailadresse ist korrekt"; }
else
{ echo "Emailadresse ist fehlerhaft"; }
$link = mysql_connect('localhost', 'xxx', 'xxx');
if (!$link) {
die('Verbindung nicht möglich : ' . mysql_error());
}
// benutze Datenbank
$db_selected = mysql_select_db('usrxxx', $link);
if (!$db_selected) {
die ('Kann Datenbank nicht benutzen : ' . mysql_error());
}
$name= $_POST['name'];
$vorname= $_POST['vorname'];
$straße= $_POST['straße'];
$plz= $_POST['plz'];
$ort= $_POST['ort'];
$email= $_POST['email'];
$IP=$_SERVER['REMOTE_ADDR'];
$sqladd = ("INSERT INTO testfahrer (name,vorname,straße,plz,ort,email,ip) VALUES ('$name','$vorname','$straße','$plz','$ort','$email','$IP')");
mysql_query($sqladd);
?>
</body>
</html>