Jörg Kethur: Überprüfen ob Variable in $_POST ein Array oder String ist.

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

  1. 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

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. 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

  3. 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

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!