Formular überprüfen ob alle Felder ausgefüllt sind
Marco
- php
Hallo zusammen
Ich habe eine kleine Frage. Gibt es eine einfachere Möglichkeit zu überprüfen ob alle Felder ausgefüllt wurden welche mit dem Formluar gesendet wurde?
Mein Problem ist, dass ich vorher nicht genau weiss, was alles für
Felder enthalten sind, da das Formular dynamisch aufgebaut wird.
So ist es mir nicht möglich die Abfrage so zu machen.
if ($_POST[variable1] <> "" or $_POST[variable2]) {
echt 'nicht alle ausgefüllt';
}
Gibt es eine Möglichkeit, anders zu schauen ob alle Felder ausgefüllt wurden welche mit dem Formular gesendet wurden?
Vielen Dank für eure Bemühungen und Hilfe.
Marco
hallo Marco
Meinst du so etwas?
foreach($_POST as $name => $value){
if(!$value){
echo $name.' ist nicht ausgefüllt!';
}
}
Gruss von
cms mit drag & drop
Hallo CMS
Danke für Deine prompte Antwort. Wobei ich ein Problem habe, wenn es Check-Boxen sind, dann werden diese nicht in der $_POST aufgeführt wenn sie nicht aktiviert sind.
Gruss Marco
Moin
Danke für Deine prompte Antwort. Wobei ich ein Problem habe, wenn es Check-Boxen sind, dann werden diese nicht in der $_POST aufgeführt wenn sie nicht aktiviert sind.
Checkboxen werden nicht übergeben wenn diese nicht angeklickt sind. Da solltest du vielleicht etwas anders herangehen. Du sagst, das dein Formular dynamisch erzeugt wird.
Warum speicherst du nicht alle vorhandenen Feldnamen in ein Array (Alternativ auch nur alle Namen der Checkboxen), das du beim Post übergibst (Oder in eine Session speicherst).
Somit hast du alle verfügbaren Formularfelder (oder eben Checkboxen) zur Verfügung und kannst auf Vorhandensein prüfen.
Gruß Bobby
Hallo,
function check_form() {
foreach ($_POST as $key => $value) {
if (trim($value) == "") {
$GLOBALS["form_message"] = "wert $key ist leer";
return false;
}
return true;
}
}
<?php if(!check_form):?>
<p class="form_error">Da lief was falsch:<?=$GLOBALS["form_message"]?></p>
<?php else:?>
<p>alles prima</p>
<?php endif?>
ungetestet.
Gruß
jobo
Moin
<?=$GLOBALS["form_message"]?>
Sollte so nicht geschrieben werden. Was ist wenn Shorttags irgendwann wegfallen? Man hat es ja schon bei register_globals erlebt wie fatal so etwas sein kann.
Man sollte doch immer die lange Form wählen.
<?php echo $GLOBALS["form_message"]?> ist da besser!
Gruß Bobby
Hallo,
zend framework ist da anderer meinung. gibt auch eine extra klasse, die das auffangen würde. s.a. http://forum.de.selfhtml.org/archiv/2009/4/t186129/#m1236027, der trifft aber wohl nur halb das thema. irgendwo schreibt aber selbst sven, dass man die wegen o.g. begründung jetzt nicht unbedingt verteufeln sollte.
Gruß
jobo
Moin
zend framework ist da anderer meinung. gibt auch eine extra klasse, die das auffangen würde.
Beachte: Nicht jeder nutzt Zend Framework! :)
Gruß Bobby
Hallo,
zend framework ist da anderer meinung. gibt auch eine extra klasse, die das auffangen würde.
Beachte: Nicht jeder nutzt Zend Framework! :)
Aber Zend entwickelt PHP, bzw. die Zend-Engine liegt dem zugrunde. Deren Framework ist nicht "irgendeins" und deren coding-standard auch nicht "irgendeiner", insofern sicherlich eine Überlegung wert, ob man dem Beachtung schenken möchte.
Gruß
jobo
Moin
Aber Zend entwickelt PHP, bzw. die Zend-Engine liegt dem zugrunde. Deren Framework ist nicht "irgendeins" und deren coding-standard auch nicht "irgendeiner", insofern sicherlich eine Überlegung wert, ob man dem Beachtung schenken möchte.
Sicher. Aber auch Zend kann Coding standards verändern, da die dies in ihrem Framework ja auffangen mit einer Klasse (wie du bemerktest).
ALLES IST RELATIV.
Es bricht sich auch keiner einen ab die längere Schreibweise zu benutzen.
Ich rate jedem Neuling gleich von Anfang an die lange Schreibweise zu benutzen.
Wie ich ja schön beim Themenbereich wählte, ist es meine Meinung.
Gruß Bobby
Hallo,
Sicher. Aber auch Zend kann Coding standards verändern, da die dies in ihrem Framework ja auffangen mit einer Klasse (wie du bemerktest).
Es werden nur die echos mit short_open_tags benutzt. die alternative syntax nicht. neben der portabilität, die für manche eine nicht so große rolle spielt (man kann die tags ja auch für templateverzeichnisse per .htaccess extra erlauben), spielt code-übersichtlichkeit ja u.u. auch ein rolle.
Gruß
jobo
Moin
... spielt code-übersichtlichkeit ja u.u. auch ein rolle.
Ja, und ich finde die lange Schreibweise übersichtlicher. :D Alles Ansichtssache...
Gruß Bobby