[PHP] variable Variablennamen bei POST

Hinweis: Dies ist sicherheitstechnisch eine sehr bedenkliche Vorgehensweise und sollte auch nicht (vor allem im Produktivsystem) eingesetzt werden!
Ich hatte das leidige Thema aus einem Formular alle POST-Variablen in verwendbare Variablen umzuspeichern:

 $rechnernummer = $_POST['rechnernummer'];
 $monitor_nr = $_POST['monitor_nr'];
 $externe_ip = $_POST['externe_ip'];
 $ipnummer = $_POST['ipnummer'];
 $zertifikat = $_POST['zertifikat'];
 $passwort = $_POST['passwort'];
 $macadresse = $_POST['macadresse'];
 $orts_id = $_POST['orts_id'];
 $verwendungs_id = $_POST['verwendungs_id'];
 $bereichs_id = $_POST['bereichs_id'];
 $seriennummer = $_POST['seriennummer'];
 $bemerkung = $_POST['bemerkung'];

Dies ist natürlich alles andere als dynamisch und sparsamer Code.
Daher habe ich mich nach einer besseren Alternative umgeschaut und bin dabei auf folgendes gestoßen:

foreach($_POST as $k=>$v) $$k=$v;

Dieser Einzeiler macht genau das, was ich gesucht habe.

Hinweis: Aus Sicherheitsgründen ist es ratsam, dass alles, was per POST verschickt wird, erst validiert werden sollte, bevor ihr es blind (wie in meinem Beispiel) weiterverwendet.

Advertisements
Veröffentlicht in PHP. Schlagwörter: , , . 14 Comments »