• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Post-Werte per foreach in Variablen speichern

Icy

Neues Mitglied
Hallo,

ich weiß nicht, ob es einfach die Uhrzeit ist oder ich einfach nen Brett vorm Kopp habe - aber ich komme grade nicht weiter.

Erstmal: Es geht um folgenden Code:

PHP:
      $header = $_POST['header'];
      $bg_all = $_POST['bg_all'];
      $fc_all = $_POST['fc_all'];
      $lc_all = $_POST['lc_all'];
      $fc_ac = $_POST['fc_ac'];
      $width_all = $_POST['width_all'];
      $bg_hc = $_POST['bg_hc'];
      $fc_hc = $_POST['fc_hc'];
      $fs_hc = $_POST['fs_hc'];
      $ff_hc = $_POST['ff_hc'];
      $bg_lc = $_POST['bg_lc'];
      $fc_lc = $_POST['fc_lc'];
      $fs_lc = $_POST['fs_lc'];
      $ff_lc = $_POST['ff_lc'];
      $bg_rc = $_POST['bg_rc'];
      $fc_rc = $_POST['fc_rc'];
      $fs_rc = $_POST['fs_rc'];
      $ff_rc = $_POST['ff_rc'];
      $css = $_POST['css'];
      $hover = $_POST['hover'];
      $entrylinks = $_POST['entrylinks'];
      $bordercol = $_POST['bordercol'];

Bitte nicht beachten, dass die Post-Variablen ohne Prüfung angenommen werden.
Wie ihr seht, werden jeweils alle Post-Daten ausgelesen und die Werte aus den Arrays in Variablen gespeichert, die den Namen der jeweiligen Keys tragen.
Meine Frage ist nun, ob ich so etwas nicht mit einer einfachen foreach-Schleife dynamisch machen könnte. Es ist nämlich immer das selbe.

PHP:
foreach ($_POST as $key => $wert) {
  ${key} = $wert;
}

So irgendwie soll das aussehen. Ich denke mal, dass das mit eval() funktioniert, aber ich hab grad echt ne Lücke im Kopp.
Vielleicht kann mir ja geholfen werden :)

MfG Icy
 
Werbung:
Werbung:
Super danke, funktioniert beides.
Die Funktion kannte ich noch gar nicht ^^ wieder was dazu gelernt :)

MfG Icy
 
das ist zwar absoluter killer code, aber was solls :mrgreen:.
PHP:
    $types_to_register = array('POST','GET');
    foreach ($types_to_register as $global_type)
    {
        $arr = @${'HTTP_'.$global_type.'_VARS'};
       // $arr = @${'_'.$global_type};
        if (@count($arr) > 0) extract($arr, EXTR_OVERWRITE);
        else
        {
            $arr = @${'_'.$global_type};
            if (@count($arr) > 0) extract($arr, EXTR_OVERWRITE);
        }
    }
das parsed alle $_POST und $_GET. hebelt quasi register_global=OFF aus.
 
Werbung:
Zurück
Oben