Formular Eingabe überprüfen

hubbl

Erfahrenes Mitglied
Hallo,
ich übe gerad ein bisschen mit PHP und mySql.
Ich habe bisher folgendes script das die Daten an sich selber schickt:

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
<?php 
    mysql_connect("localhost","root") OR die(mysql_error);
    mysql_select_db("test") OR die(mysql_error);    
?>
<html>
<head>
<title>Übung</title>
</head>
<body>

    <form action="dieseseite.php" method="post">
    Benutzername:<br />
        <input type="text" name="benutzername"><br />
    Passwort:<br />
        <input type="password" name="passwort"><br />
    Männl.
        <input type="radio" name="geschlecht" value="maennlich">
    Weibl.
        <input type="radio" name="geschlecht" value="weiblich"><br />
    eMail-Adresse:<br />
        <input type="text" name="email"><br /><br />
        <input type="submit" value="User anlegen"><br />    
    </form>
        <?php 
        if(empty($_POST['benutzername'])){
            echo "<p>Geben sie einen Benutzernamen an</p>";
        }
        if(empty($_POST['passwort'])){
            echo "<p>Geben sie ein Passwort an</p>";
        }
        if(!isset($_POST['geschlecht'])){
            echo "<p>Geben sie bitte ein Geschlecht an</p>";
        }
        if(empty($_POST['email'])){
            echo "<p>Geben sie eine E-Mail Adresse an</p>";
        }
    ?>
</body>
</html>

1. Die Fehlerangaben wie "Geben sie ein Benutzenmae ein" etc tauchen nun aber auch bei ersten Aufruf der seite auf, wie unterbinde ich das?
2. Wenn ich die Daten jetzt an die Datenbank senden möchte, wie ist es am leichtesten zu realiesieren, das nur dann Daten gesendet werden wenn alles eingegeben wurde? Einfach mit if und & alle Variablen abfragen oder gibt es etwas elegantereres?

Danke schon mal im Vorraus

Mit freundlichen Grüßen

Dennis
 
Hallo!

Zu 1: gebe dem Submit-Button einen Namen und prüfe dann ob dieser Button überhaupt gesendet wurde.
Wenn ja, dann kommen Deine weiteren abfragen.
Wenn nein, dann passiert halt garnichts.
Zu 2. spontan würde ich sagen dass Du zu den schon bestehenden Abfragen ein Array erstellst:
PHP:
$error[] = 1;
und dann vor dem Datenbankeintrag überprüfst ob dieses Array gleich Null ist.
Wenn ja, dann wird der Eintrag vorgenommen.

Gruss Dr Dau
 
Zurück