Empty etc

Hallo, eine Frage wiedermal,
ich suche ein Script das feststellt, ob in ein Formularfeld geschrieben worden war oder nicht.
Ich zeige mal mein altes:

$test = $_POST[‘test’];
if (empty($test)) {
echo “Feld ist LEER!”;
} else {
echo “Feld ist gefüllt!”;
}

Warum funktioniert das nicht, oder funktioniert es bei euch, wenn ja wie? Was mache ich falsch?

if(isset($_POST[‘test’])) //Feststellen ob etwas abgesendet wurde
{
$test = trim($_POST[‘test’]); //Unnötige Zeichen entfernen
if (empty($test)) //Statt empty kann man in diesem fall einfach (!$test) verwenden :wink:
echo “Feld ist LEER!”;
else
echo “Feld ist gefüllt!”;
}

Ansonsten müsste dein Code auch funktionieren…

also man kann auch statt empty einfach

Das funzt auch wunderbar^^
oder ich glaube auch geht:

@iNaD: Das Problem mit deiner Methode ist, dass sie Notices triggert, und das ist böse. !haue
Irgendetwas mit NULL oder „“ zu vergleichen ist imho immer identisch, das hängt mit dem allzu losen Typensystem zusammen. :confused:

@michi: Man kann auch gleich empty() verwenden, empty() und isset() sind beides Sprachkonstrukte und bewirken auch keine Notices. Eine Variable wird als „empty“ angesehen, wenn sie zu false evaluiert (leerer String, leeres Array, false, NULL, …)

[code]if (isset($_POST[‚blah‘]) && $_POST[‚blah‘]);

// Ist das Gleiche wie
if (!empty($_POST[‚blah‘]));[/code]

Aber ich prüfe, ob die Variable überhaupt gesetzt ist
Eine Notice dürfte nicht auftreten^^