Überprüfen ob Variable in $_POST ein Array oder String ist.
Jörg Kethur
- php
Hallo,
ich übergebe über ein Formular per POST verschiedene Variablen.
In der action.php möchte ich jetzt aus allen $_POST Variablen normale Variablen formen.
foreach($_POST as $varname => $value){${$varname}=$value;}
Damit kann ich dann einfacher im Code arbeiten -> also anstatt immer $_POST('email') mit $email arbeiten
Habe bei diesem Code aber ein Problem wenn ich ein Array übergebe.
Wie kann ich nun zwischen Arrays und String Variablen in der Superglobalen $_POST unterscheiden?
Thanks a bunch.
Jörg
hi,
Wie kann ich nun zwischen Arrays und String Variablen in der Superglobalen $_POST unterscheiden?
So, wie bei jeder anderen Variablen auch: is_array()
gruß,
wahsaga
echo $begrüßung;
foreach($_POST as $varname => $value){${$varname}=$value;}
Damit kann ich dann einfacher im Code arbeiten -> also anstatt immer $_POST('email') mit $email arbeiten
Du könntest in dem Fall auch einfach register_globals wieder einschalten. register_globals wurde per Default ausgeschaltet, damit nicht jeder, der GPC-Daten[*] sendet, unkontrolliert Variablen im Script angelegen kann. Du opferst also Sicherheit der eigenen Bequemlichkeit.
Habe bei diesem Code aber ein Problem wenn ich ein Array übergebe.
Unabhängig vom obigen Sicherheitsaspekt sehe ich kein Problem mit Arrays. Könntest du deine Bedenken oder deinen konkreten Fall genauer schildern?
echo "$verabschiedung $name";
[*] GPC: GET, POST, COOKIE
Hi,
foreach($_POST as $varname => $value){${$varname}=$value;}
Doku-Vorleseservice: http://php.net/import_request_variables
Damit kann ich dann einfacher im Code arbeiten -> also anstatt immer $_POST('email') mit $email arbeiten
Bedenke: "Sicherheitsrelevante Features" werden im Allgemeinen nicht aktiviert, damit das Leben des Programmierers "schwieriger" wird. Sie würden sonst "Mach's-dem-Programmierer-schwer-Features" heißen ...
Gruß, Cybaer