Mailinglisten-Archive |
Aloha,
> Von: Matthias Zoellner[SMTP:m.zoellner at makz.de]
>
> Ich lese Werte aus dem $_POST-Array aus. Wenn ein Element nicht mit
> übertragen wird, z.B. eine Checkbox, wirft PHP gleich einen Fehler aus,
> wg. nicht definiert.
>
> Das ist auch OK. Ich möchte aber, das bei Nichtexisten schlicht ein
> Leerstring zurückgegeben wird.
>
geht nicht. Wenn die Box nicht angeklickt ist, ist die
Variable auch nicht vorhanden.
> Jetzt kann ich natürlich jedes
> POST-Elemnt per 'define' ....
>
define() ist leider hier völlig falsch:
http://de2.php.net/define
Richtig: isset()
... auf Existenz prüfen, das mir aber bei ca. 40
> Feldern schlicht zu umständlich. Gibt es da nicht einen einfacheren Weg?
>
wenn die Namen der Checkboxfelder z.b. box_1 .... box_40
sind, kannst du das einfach in einer Schleife machen.
Dazu brauchst du nicht mal variable Variablen:
for ( $i = 1; $ <= 40; $i++ ) {
if ( isset($_POST['box_'.$i] ) {
echo 'box war angekreuzt';
} else {
echo 'box war nicht angekreuzt';
# Keine ahnung ob man die $_POST-Variable
# im Skript ändern darf - wäre zu testen.:
$_POST['box_'.$i] = '';
}
}
Grüße, Mathias
php::bar PHP Wiki - Listenarchive