• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Formularfelder prüfen

slinky

Neues Mitglied
Hallo,
ich möchte bei einem Anmeldeformular dem User die Möglichkeit bieten nur Name und Emailadresse anzugeben und die Felder für Adresse leer zu lassen.
Wenn ein User allerdings Adressdaten angibt sollen diese Felder überprüft werden das halbwegs plausible Daten eingegeben wurden.
Also Beispielsweise so:
Feld 1,2,3 leer = ok
Feld 1,2,3 mit mind. 3 Zeichen ausgefüllt = ok
Feld 1,2,3 mit je nur einem Zeichen ausgefüllt = Fehler
Ist es Möglich ein Anmeldeformular so zu gestalten das dies Möglich ist?
Danke.
 
Hier ist der Code, angenommen du benutzt 3 Post-Variablen ($_POST['feld1'], etc..) ;)

Code:
<?php

// Überprüfe, ob die drei Felder überhaupt übertragen wurden
if(isset($_POST['feld1']) AND isset($_POST['feld2']) AND isset($_POST['feld3'])){

$feld1 = $_POST['feld1'];
$feld2 = $_POST['feld2'];
$feld3 = $_POST['feld3'];

if(strlen($feld1) > 3 OR strlen($feld2) > 3 OR strlen($feld3) > 3 OR $feld1 == "" OR $feld2 == "" OR $feld3 == "") {


    // Das Feld hat 3 oder mehr Zeichen oder ist leer: Ok!


    } else {

    // FEHLER! Ein Feld hat weniger als 3 Zeichen und ist nicht leer!

    }


}

?>
 
Zuletzt bearbeitet:
Hier ist der Code, angenommen du benutzt 3 Post-Variablen ($_POST['feld1'], etc..) ;)

Code:
[...]

if(strlen($feld1) > 3 OR strlen($feld2) > 3 OR strlen($feld3) > 3 OR $feld1 == "" OR $feld2 == "" OR $feld3 == "") {

[...]

}

?>
Die if-Abfrage würde aber auch TRUE ergeben, wenn $feld1 == 4 ist, $feld2 und $feld3 aber == 1.

Besser wäre es wohl zu prüfen: (pseudocode) (feld1 > 2 OR feld1 == "") AND (feld2 > 2 OR feld2 == "") AND (feld3 > 2 OR feld3 == "")
 
Nachtrag.

Wenn man viele Felder auf den selben Zustand prüft, würde sich eventuell auch eine Funktion auszahlen, die die Prüfung übernimmt und TRUE oder FALSE zurück gibt.
Das vereinfacht zumindest das Hinzufügen von weiteren Feldern.
 
Zurück
Oben