AndreD: einmal gehts und einmal nicht

Beitrag lesen

Hallo,

if( "isset($_POST["name"])" ) $name = $_POST["name"];
else $name = "";

wenn man keinen else-Zweig oder eine prophylaktische Initialisierung für $name hat, kann man sich das allerdings schenken. Denn dann sit $name == false und $_POST["name"] auch.

Weiss jetzt auch nicht was Du meinst:
if ist true wenn das Feld name der Superglobalen $_POST gesetzt ist, dann soll dieser Wert der lokalen Variablen $name zugewiesen werden. Mit dieser wird dann im Script weitergearbeitet.
Wenn false gibt es eine initialisierte Variable $name ohne Inhalt.

Mich würde jetzt genauer interessieren was daran falsch sein soll, ich bin ja immer bereit zu lernen ;-)

besser geeignet wäre also z.B das Konstrukt

if (!isset($_POST["name"])) $_POST["name"] = "";

Dann hat $_POST["name"] anschließend zwar immer noch keinen Wert, aber den passenden Typ. Voruasgesetzt der Name soll ein String sein

Ok, wenn if true ist, also die Superglobale ist nicht gesetzt, dann soll diese auch leer sein. Das macht IMHO keinen Sinn, da das Script unten eine lokale Variable $name erwartet, die so erstens nicht initialisiert ist oder zweitens nicht den Wert vom gesendeten Formular zugewiesen bekommen hat. Oder wie, oder was? ;-)

Gruss AndreD