Habe inzwischen gesehen, dass HTTP_... aus dem CGI-Modus kommen.
Jein. Die gibts auch im PHP-Modul. Nur halt nciht im CLI, da dort logischerweise kein HTTP-Request über einen Webserver stattfindet.
Habe POST und GET getrennt ausprobiert (= gezielt beide Arten angewendet). Bei POST ist in der Varibale nichts d.h. mit count() kommt der Wert 0. Bei GET sind 4 Einträge drin. Aber in beiden Fällen bringt isset(...) den Wert true. Und das irritiert.
Wegen? Da bei dir register_long_arrays aktiviert ist, legt PHP erst einmal die 2 Arrays an. Deshalb bringt isset() true. Nach dem Anlegen werden dann die orginalen Arrays, sofern diese Daten enthalten, da reinkopiert.
möchte ich schon mit den "alten" TEchniken auch etwas vertraut sein.
Wo du das nachlesen kannst, hatte ich ja schon genannt.
Daher will ich die Verwendung der Long-Arrays (habe nicht gewusst, das man denen so sagt) schon auch verstehen.
Du verwendest sowohl Long-Arrays, sowie das noch schlimmere und ältere register_globals. Da es das demnächst nicht mehr gibt, sollte dich das nicht so dringend interessieren... ansonsten s.o.
Daher trotzdem die Frage nach HTTP_POST_VARS. Warum gibt isset den Wert true, wenn der Inhalt leer ist? Und warum ist der Inahlt leer, wenn ich aus dem Formular Daten anliefere?
Du hast dein Formular mit "methode=get" definiert. Ergo hast du einen GET-Request und die Daten landen dann in $HTTP_GET_VARS und logischerweise nicht in $HTTP_POST_VARS. (sonst bräuchte man ja nciht beide Arrays wenn alle das Selbe hätten
BTW landen die Daten eigentlich in den Arrays $_GET oder $_POST die du deshalb benutzen solltest.
Deine 3 Variablen aus dem ersten Post findest du im Array $_SERVER. phpinfo() würde dir das aber auch zeigen (zusammen mit den korrekten Namen).
"__FILE__" ist eine (automagische) Konstante und kein Array und deshalb auch so verfügbar.