Hi,
schon klar. Mein Hinweis bezog sich aber gar nicht auf Pflichtfelder, sondern auf Deine überflüssige Überprüfung:
if(isset($_POST[$pflicht_feld]) && $_POST[$pflicht_feld]!=='')
Wie könnte ich sonst noch prüfen, ob das Feld ausgefüllt wurde?
an _dieser_ Stelle ist die Überprüfung doch gar nicht nötig. Du willst doch hier lediglich die Eingabe - soweit vorhanden - als value eintragen. Nichts spricht gegen value="", wenn das Feld noch nicht ausgefüllt wurde - siehe meinen Codeschnipsel.
Amn anderer Stelle würde sich einfach !empty() anbieten.
true und false kenne ich, nur schaffe ich es noch nicht, die Variablen aus den Funktionen Global zu verwenden, das habe ich noch nicht ganz verstanden.
$test=array(true,false);
var_dump($test); ergibt: array(2) { [0]=> bool(true) [1]=> bool(false) }
echo 'true="',$test[0],'", false="',$test[1],'"'; ergibt: true="1", false=""
jetzt etwas klarer? Wenn ja, dann noch ein Schrittchen weiter:
true=="true" - aber true!=="true" ;-)
Immer noch klar? Dann mal false:
false!="false"; false==0; false==""; - aber false!=="";
htmlspecialchars("Privat") ist z.B. absolut überflüssig und "<Privat>" oder ""Privat"" würdest Du hier wohl kaum eingeben, oder?
http://forum.de.selfhtml.org/archiv/2008/5/t171930/#m1126371
Der Beitrag auf den hier verlinkt ist, meine Antwort darauf und dann nochmal Volkers Beitrag.
Daher diese überflüssige Überprüfung.
wie Du sagst: überflüssig. Denn Du maskierst keine potentiell gefährlichen Usereingaben, sondern Deinen eigenen fest im Script stehenden Text. Das ist etwa so, als wenn Du strtolower("ohnehin kleingeschriebener text"); notierst.
freundliche Grüße
Ingo