Vediamo come recuperare grazie all’uso di PHP tutti i valori generati dal POST di un form in modo semplice e veloce. Ideale per form complessi.
Molto spesso quando creiamo form molto grandi ci troviamo in difficoltà a recuperare ogni singolo valore, grazie a questa semplice guida scopriremo come recuperare tutti i valori e inserirli in una variabile con il nome dell’input.
foreach($_POST as $key => $val) { ${$key} = $val; }
Tramite un ciclo foreach recuperiamo tutti gli indici e valori dell’array _POST e li usiamo per creare delle nuove variabili, utilizzando le parentesi graffe sarà usato il valore di $key per dare alla nuova variabile che stiamo creando il valore dell’indice dell’array.
Naturalmente lasciare il codice così è molto pericoloso perché siamo vulnerabili a molti tipi di attacchi, quindi usiamo htmlentities oppure mysql_escape_string sulle variabili a seconda di come vogliamo utilizzarle, siccome queste funzioni restituiscono un errore se l’argomento passato è un array saltiamo il ciclo quando lo rileviamo.
foreach($_POST as $key => $val) { if(is_array($val)) continue; ${$key} = htmlentities($val); }
Con questa ultima modifica il codice è completo, spero che questa guida vi sia stata d’aiuto e non esitate a lasciare un commento se avete dubbi, domande o suggerimenti utili.