Yin: von hinten durch die Brust ins Auge

Beitrag lesen

Hi,
folgendes Szenario:
Eine Adresse besteht immer aus Strasse, Hausnummer, PLZ, Stadt und Land.
Ein User kann bis zu 4 Adressen in ein Formular eingeben.
Sobald er ein Feld füllt, müssen zwingend auch die übrigen Felder zu der Adresse gefüllt sein. Es ist Egal, ob er das erste Adressfeld leer lässt und erst im zweiten Adressfeld eine Adresse eingibt:
Hier meine Lösungsidee die funktioniert. Meine Frage lautet: mache ich es mir selbst zu kompliziert?

// Array für evtl. auftretende Fehler anlegen  
	$errors = array();  
	// Prüfen, ob überhaupt Adressen eingegeben wurden und -falls ja- ob die Angaben vollständig sind und ob unerlaubte Zeichen enthalten sind  
	$vollstaendige_adressangaben_bei=array();  
	// Wurde in eines der Adressfelder etwas eingegeben  
	foreach($_POST['strasse'] as $key => $value){  
		if(!empty($_POST['strasse'][$key]) or  
		!empty($_POST['hausnummer'][$key]) or  
		!empty($_POST['plz'][$key]) or  
		!empty($_POST['stadt'][$key]) or  
		!empty($_POST['land'][$key])){  
			  
			// Überprüfung, ob auch die zugehörigen anderen Adressfelder gefüllt sind  
			if(empty($_POST['strasse'][$key]) or  
			empty($_POST['hausnummer'][$key]) or  
			empty($_POST['hausnummer'][$key]) or  
			empty($_POST['stadt'][$key]) or  
			empty($_POST['land'][$key])){  
				echo "kontrollausgabe: Leere Felder gefunden";  
				$errors[] = "Ihre ".$key.". eingegebene Adresse ist unvollständig. Eine Adresse muss immer aus Strasse, Hausnummer, PLZ, Stadt und Land bestehen";  
				continue;  
			}  
			else $vollstaendige_adressangaben_bei[$key]=1;  
		}  
		// Adressangaben vollständig  
		// Nun Überprüfung, ob die Adressfelder unerlaubte Zeichen enthalten  
		else{  
			//Hier werde ich mit preg_match die Zeichen kontrollieren. Habe ich noch nicht, da ich mit den Regular Expressions noch so meine Probleme habe.  
		}  
	}