phpbar.de logo

Mailinglisten-Archive

[php] $_POST Wert auslesen ohne Fehler bei Nichtexistenz

[php] $_POST Wert auslesen ohne Fehler bei Nichtexistenz

Gloss Mathias Mathias.Gloss at start.de
Die Sep 30 17:43:36 CEST 2003


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