Auf Vollständigkeit der Angaben prüfen...

Metzlmane

Mitglied
hy,

ich versuche ein Formular auf seine Vollständigkeit zu überprüfen, also ob der Benutzer alle Daten eingegeben hat oder nicht. Versucht habe ich es mit switch und case, aber das
geht nicht wirklich so wich ichs mir vorstelle oder ich weis nicht was ich verhaut habe.

Entweder es wird immer OK ausgegeben oder genau das gegenteil, d.h. alle die Variable wird immer aufsummiert wenn der Case 1 erfüllt ist.. die anderen werden dann nicht mehr geprüft?

PHP:
$angaben = 0;
switch (FALSE)
	{
	case is_null($_GET['bName']):
		echo $_GET['bName'];
		$angaben = $angaben +1;
	case is_null($_GET['bVorname']):
		echo $_GET['bVorname'];
		$angaben = $angaben +1;
	case is_null($_GET['bStrasse']):
		echo $_GET['bStrasse'];
		$angaben = $angaben +1;
	case is_null($_GET['bHausnr']):
		echo $_GET['bHausnr'];
		$angaben = $angaben +1;
	case is_null($_GET['bplz']):
		echo $_GET['bplz'];
		$angaben = $angaben +1;
	case is_null($_GET['bOrt']):
		echo $_GET['bOrt'];
		$angaben = $angaben +1;
		echo $angaben;

		}

if ($angaben == 6)
	echo "Bestellung passt";
else
	echo "nicht alles angegeben	";

kann es zufällig daran liegen dass die Angaben trozdem erfüllt sind, weil ein leerer String übertragen wird? Klingt für mich jetz unlogisch, aber ich meinte es mal irgendwo in einer TAbelle gelesen zu haben, wann was wo als TRUE oder FALSE ausgegeben wird.

Wäre super wenn ihr mir helfen könntet :rolleyes:
 
Hiho,

PHP:
if( empty($_GET["bName"]) || empty($_GET["bVorname"]) || empty($_GET["bOrt"]) ) {
    print "Fehlende Angaben!";
} 
else{
    print "Woot OK!";
}

Gruß Manuel
 
Da kannst jetzt dein normales Formular wieder setzen und als "Standartwert die entsprechenden SESSION Werte setzen. Über das jeweilige Textfeld etc. setzt du dann noch die ausgabe der "error" Mitteilungen und gut ist.

Ist nun ne fehlende Mitteiliung dabei wird zurückgewiesen und alle angaben sind da.
Ist noch nichts eingegeben, sieht man noch nichts, da noch nichts in den SESSION-Variablen gespeichert ist.

P.S.: nicht vergessen auch in den Textfeldern mit echo ausgeben ;-)

PHP:
if(isset($_POST['günnyform']))
{

// Variable auf 1 Setzen
  $allesok = 1;

// Wenn etwas fehlt Variable auf 0 setzen und eingabe in Session speichern
 if(empty($_GET['bName'])){
  $allesok = 0; 
  $_SESSION['errorbName'] = "nicht alles angegeben";
  $_SESSION['bName'] = $_GET['bName'];}else{
  $_SESSION['errorbName'] = "Bestellung passt";
  $_SESSION['bName'] = $_GET['bName']; }

 if(empty($_GET['bVorname'])){
  $allesok = 0; 
  $_SESSION['bVorname'] = "nicht alles angegeben";
  $_SESSION['bVorname'] = $_GET['bVorname']; }else{
  $_SESSION['bVorname'] = "Bestellung passt";
  $_SESSION['bVorname'] = $_GET['bVorname']; }

        }

// ist Variable auf 1, kann weiter verfahren werden
if($allesok){

// Weiterverarbeitung

}
else
{
// Sonst wird halt einfach zurück aufs Formular verlinkt ...
// Formular mit fehlerausgabe ...

echo $_SESSION['errorbName'];
echo $_SESSION['bName'];

Vorteil bei dem ganzen ist, dass du für jedes Textfeld oder was du drinnen hast in deinem Formular ne extra Fehlerausgabe gestalten kannst ... außerdem bleiben dei restlichen Eingaben erhalten
 
Zuletzt bearbeitet:
Zurück