Formularprüfung - kleines Problem Halllo!
Also ich habe mir dieses Script geschrieben, bzw. zusammengebastelt;
[php]
<?php
if ($_POST["anmelden"])
{
$msg['vorname'][1] = "Vorname fehlt
";
$msg['vorname'][2] = "Vorname (nur Buchstaben erlaubt)
";
$msg['name'][1] = "Name fehlt
";
$msg['name'][2] = "Name (nur Buchstaben erlaubt)
";
$msg['anschrift'][1] = "Anschrift fehlt
";
$msg['plz'][1] = "Postleitzahl fehlt
";
$msg['plz'][2] = "Postleitzahlt (5 Zahlen erlaubt)
";
$msg['ort'][1] = "Ort fehlt
";
$msg['ort'][2] = "Ort (nur Buchstaben erlaubt)
";
$msg['user'][1] = "Benutzername fehlt
";
$msg['password'][1] = "Passwort fehlt
";
$msg['email'][1] = "Emailadresse fehlt
";
$msg['email'][2] = "Emailadresse falsch
";
# Vorname
if ( ( !preg_match("/^[a-zäöüA-ZÄÖÜ\- ]*$/", $_POST['vorname'], $matches) ) && ( $_POST['vorname'] != "" ) )
{
$error['vorname'] = 2;
}
elseif ( $_POST['vorname'] == "" )
{
$error['vorname'] = 1;
}
# Name
if ( ( !preg_match("/^[a-zäöüA-ZÄÖÜ\- ]*$/", $_POST['name'], $matches) ) && ( $_POST['name'] != "" ) )
{
$error['name'] = 2;
}
elseif ( $_POST['name'] == "" )
{
$error['name'] = 1;
}
# Geburtsdatum
if ( $_POST['geburtsdatum'] == "" )
{
$error['geburtsdatum'] = 1;
}
# Anschrift
if ( $_POST['anschrift'] == "" )
{
$error['anschrift'] = 1;
}
# PLZ
if ( ( !preg_match("/^[0-9]{5}$/", $_POST['plz'], $matches) ) && ( $_POST['plz'] != "" ) )
{
$error['plz'] = 2;
}
elseif ( $_POST['plz'] == "" )
{
$error['plz'] = 1;
}
# Ort
if ( ( !preg_match("/^[a-zäöüßA-ZÄÖÜ\.\- ]*$/", $_POST['ort'], $matches) ) && ( $_POST['ort'] != "" ) )
{
$error['ort'] = 2;
}
elseif ( $_POST['ort'] == "" )
{
$error['ort'] = 1;
}
# Benutzername
if ( $_POST['user'] == "" )
{
$error['user'] = 1;
}
# Passwort
if ( $_POST['password'] == "" )
{
$error['password'] = 1;
}
# E-Mail-Addresse
if ( ( !preg_match("/^[\w\-\.]+@[\w\-\.]+\.[^\d]{2,4}$/", $_POST['email'], $matches) ) && ( $_POST['email'] != "" ) )
{
$error['email'] = 2;
}
elseif ( $_POST['email'] == "" )
{
$error['email'] = 1;
}
if (!$error)
{
include('config.php');
$_POST['geburtsdatum'] = $_POST['geburtsdatum_tag'].'.'.$_POST['geburtsdatum_monat'].'.'.$_POST['geburtsdatum_jahr'];
$_POST['geschlecht'] = ( $_POST['geschlecht'] == 'Herr' ? 'männlich' : 'weiblich' );
$sql = "INSERT INTO user (vorname, name, geburtsdatum, geschlecht, anschrift, plz, ort, user, password, email)
VALUES ('". $_POST['vorname']."', '". $_POST['name']."', '". $_POST['geburtsdatum']."', '". $_POST['geschlecht']."', '". $_POST['anschrift']."', '". $_POST['plz']."', '". $_POST['ort']."', '". $_POST['user']."', '". $_POST['password']."', '". $_POST['email']."')";
mysql_query($sql) or die(error_reporting());
echo"<meta HTTP-EQUIV='refresh' CONTENT='0; URL=submitted.html'>";
}
}
?> [php:4a902f52e0]
Also beim klicken auf den Submitbutton, soll die Abfrage ausgeführt werden und dann dachte ich mir, wenn kein Fehler mehr da ist wird es an die Datenbank geschickt! Geht aber nicht! Welchen Fehler mache ich???
Ist das vielleicht mein Fehler: if (!$error) ??? Denn ab da gehts nicht mehr![/php:4a902f52e0] |