molily: Fehlermeldung unterdrücken mit @ - funktioniert leider nicht

Beitrag lesen

Hallo, Urmel,

Ich hab ein Formular das u.a. mit Radiobuttons arbeitet. Allerdings möchte ich das Ausfüllen in diesem Bereich freiwillig machen. D.h. standardmäßig ist nichts ausgewählt.

wenn der User die Radiobuttons leer läßt erscheint eine "Notice"-Meldung: Undefinded index.

Du versuchst vermutlich aus dem $_POST- oder $_GET-Array ein nicht vorhandenes Element zu lesen.

Nur möchte ich halt die Meldung unterdrücken. Nun geht das ja normalerweise mit dem @. Leider funzt das bei mir nicht. Kann das daran liegen, daß die Geschichte in Kombination mit Variablen nicht geht? Oder woran könnts sonst noch liegen?

Laut http://de.php.net/manual/de/language.operators.errorcontrol.php dürfte das @ vor jedem beliebigen Ausdruck möglich sein, als Beispiel wird explizit ein Arrayzugriff geliefert:

--8<--
// Das funktioniert bei jedem Ausdruck, nicht nur bei Funktionen:
$value = @$cache[$key];
// erzeugt keine Notice, falls der Index $key nicht vorhanden ist.
-->8--

Alternativmöglichkeiten: Überprüfe vor der Operation, welche mit dem Arrayelement arbeitet, ob ein Element unter dem Index existiert, siehe http://de.php.net/manual/de/function.isset.php - dadurch kannst du jede Fehlermeldung umgehen und sogar im else-Falle eine Fehlerbehandlung notieren. Du kannst die Notices aber auch mit http://de.php.net/manual/de/function.error-reporting.php abschalten.

Mathias
(AFAIK ;))

--
»Im Kampf zwischen Dir und der Welt, sekundiere der Welt.
Man darf niemanden betrügen, auch nicht die Welt um ihren Sieg.«
Franz Kafka - http://www.kafka.org/projekt/nachlass2/ohg.html