Formular überprüfen

So das funktioniert zu Teil schon, ich bräuchte nur noch eine Anweisung, damit er abbricht, sollte etwas fehlen!

Denn er zeigt kurz die Fehler an und dann sendet er trotzdem!

PHP:
<?php
    if ( $_GET['send'] == true ) 
    {

        $msg['vorname'][1]         = "<b>Vorname</b> fehlt<br>";
        $msg['vorname'][2]         = "<b>Vorname</b> (nur Buchstaben erlaubt)<br>";
        $msg['name'][1]            = "<b>Name</b> fehlt<br>";
        $msg['name'][2]            = "<b>Name</b> (nur Buchstaben erlaubt)<br>";
        $msg['anschrift'][1]       = "<b>Anschrift</b> fehlt<br>";
        $msg['plz'][1]             = "<b>Postleitzahl</b> fehlt<br>";
        $msg['plz'][2]             = "<b>Postleitzahlt</b> (5 Zahlen erlaubt)<br>";
        $msg['ort'][1]             = "<b>Ort</b> fehlt<br>";
        $msg['ort'][2]             = "<b>Ort</b> (nur Buchstaben erlaubt)<br>";
        $msg['user'][1]            = "<b>Benutzername</b> fehlt<br>";
        $msg['password'][1]        = "<b>Passwort</b> fehlt<br>";
        $msg['email'][1]           = "<b>Emailadresse</b> fehlt<br>";
        $msg['email'][2]           = "<b>Emailadresse</b> falsch<br>";


        # 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;
        }
    }
?>
 
So vielleicht;

PHP:
<?php
    if ( $_GET['send'] == true ) 
    {

        $msg['vorname'][1]         = "<b>Vorname</b> fehlt<br>";
        $msg['vorname'][2]         = "<b>Vorname</b> (nur Buchstaben erlaubt)<br>";
        $msg['name'][1]            = "<b>Name</b> fehlt<br>";
        $msg['name'][2]            = "<b>Name</b> (nur Buchstaben erlaubt)<br>";
        $msg['anschrift'][1]       = "<b>Anschrift</b> fehlt<br>";
        $msg['plz'][1]             = "<b>Postleitzahl</b> fehlt<br>";
        $msg['plz'][2]             = "<b>Postleitzahlt</b> (5 Zahlen erlaubt)<br>";
        $msg['ort'][1]             = "<b>Ort</b> fehlt<br>";
        $msg['ort'][2]             = "<b>Ort</b> (nur Buchstaben erlaubt)<br>";
        $msg['user'][1]            = "<b>Benutzername</b> fehlt<br>";
        $msg['password'][1]        = "<b>Passwort</b> fehlt<br>";
        $msg['email'][1]           = "<b>Emailadresse</b> fehlt<br>";
        $msg['email'][2]           = "<b>Emailadresse</b> falsch<br>";


        # 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;
        }
}
else
{   
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'>
";
    }
?>
 
Also wie bekomme ich es hin, dass es nur in die Datenbank geschrieben wird, wenn keine Fehler auftauchen?

PHP:
<?php
    if ( $_GET['send'] == true ) 
    {

        $msg['vorname'][1]         = "<b>Vorname</b> fehlt<br>";
        $msg['vorname'][2]         = "<b>Vorname</b> (nur Buchstaben erlaubt)<br>";
        $msg['name'][1]            = "<b>Name</b> fehlt<br>";
        $msg['name'][2]            = "<b>Name</b> (nur Buchstaben erlaubt)<br>";
        $msg['anschrift'][1]       = "<b>Anschrift</b> fehlt<br>";
        $msg['plz'][1]             = "<b>Postleitzahl</b> fehlt<br>";
        $msg['plz'][2]             = "<b>Postleitzahlt</b> (5 Zahlen erlaubt)<br>";
        $msg['ort'][1]             = "<b>Ort</b> fehlt<br>";
        $msg['ort'][2]             = "<b>Ort</b> (nur Buchstaben erlaubt)<br>";
        $msg['user'][1]            = "<b>Benutzername</b> fehlt<br>";
        $msg['password'][1]        = "<b>Passwort</b> fehlt<br>";
        $msg['email'][1]           = "<b>Emailadresse</b> fehlt<br>";
        $msg['email'][2]           = "<b>Emailadresse</b> falsch<br>";


        # 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;
        }
 
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'>
";
    }
?>
 
Was haltet ihr davon?

Aber ich glaube da fehlt noch was!?

PHP:
<?php
    if ( $_GET['send'] == true ) 
    {

        $msg['vorname'][1]         = "<b>Vorname</b> fehlt<br>";
        $msg['vorname'][2]         = "<b>Vorname</b> (nur Buchstaben erlaubt)<br>";
        $msg['name'][1]            = "<b>Name</b> fehlt<br>";
        $msg['name'][2]            = "<b>Name</b> (nur Buchstaben erlaubt)<br>";
        $msg['anschrift'][1]       = "<b>Anschrift</b> fehlt<br>";
        $msg['plz'][1]             = "<b>Postleitzahl</b> fehlt<br>";
        $msg['plz'][2]             = "<b>Postleitzahlt</b> (5 Zahlen erlaubt)<br>";
        $msg['ort'][1]             = "<b>Ort</b> fehlt<br>";
        $msg['ort'][2]             = "<b>Ort</b> (nur Buchstaben erlaubt)<br>";
        $msg['user'][1]            = "<b>Benutzername</b> fehlt<br>";
        $msg['password'][1]        = "<b>Passwort</b> fehlt<br>";
        $msg['email'][1]           = "<b>Emailadresse</b> fehlt<br>";
        $msg['email'][2]           = "<b>Emailadresse</b> falsch<br>";


        # Vorname
        if ( ( !preg_match("/^[a-zäöüA-ZÄÖÜ\- ]*$/", $_POST['vorname'], $matches) ) && ( $_POST['vorname'] != "" ) )
        {
            $error['vorname'] = 2;
            $failure = 1;
        }
        elseif ( $_POST['vorname'] == "" )
        {
            $error['vorname'] = 1;
            $failure = 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;
        }
}
?>


<?php

if ( $failure == "0" )
if (!isset($_POST['anmelden']))  
{

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'>
";

}
?>
 
Zurück