Ricavare tutte le variabili POST di un form

Molte volte capita di dover sviluppare del codice che magari avevamo già utilizzato in altri progetti. Il caso più comune è sicuramente il form di contatti. Solitamente cambia poco da progetto a progetto .. qualche cliente vuole un campo in più , altri ne vogliono di meno .. Lo script php di recupero di tutte le variabili del form deve ovviamente essere modificato di volta in volta. In questo articolo presento un metodo che uso solitamente per evitare grosse modifiche al codice. Molte volte lo stesso codice non viene minimamente toccato. Utilizzeremo uno script php che recupera tutte le variabili POST della pagina e le assocerà ad una variabile. Avremo inoltre il controllo dei campi obbligatori del form. Sarà sufficiente definire un metodo : quello di chiamare il campo input del form con “nomecampo_required“. Analizziamo ora il codice ..

<?php
//Ricavo tutte le variabili $_POST
$variabili_post = $HTTP_POST_VARS;
 
while(list($nome_campo,$valore) = each($variabili_post)){
	$campo_visualizza = ucfirst(str_replace(”_”,” “,str_replace(”required”,",$nome_campo)));
	$numero_variabili_post = (count($variabili_post) - count($campi_disabilitati)) + 1 ;
 
	if (strstr($nome_campo,”mail”)){
		if (!check_mail($valore)){ //eseguiamo una funzione per controllare la mail
			$required_error .= “Email non valida”;
			if($i < $numero_variabili_post && $i != 1) $required_error .= “, “;
		}
	}elseif (strstr($nome_campo,”_required”)){ 
		if (!$valore) {
			$required_error .= $campo_visualizza;
			if($i < $numero_variabili_post && $i != 1) $required_error .= “, “;
		}
	}
 
	if($valore == ‘on’) $valore = ‘Si’;
 
	if (!in_array($nome_campo,$campi_disabilitati)) {
		//PROVA: echo $nome_campo.” e “.$valore.”<br/>”;
		$testo .= “<strong>”.$campo_visualizza.”</strong><br/>”.$valore.”<br/><br/>”;
	}
 
	$i++;
}
?>

friimaind

Mi chiamo Massimiliano e sono uno sviluppatore web. Ho aperto questo blog principalmente come agenda dove tenere traccia di tutte le mie passioni :)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *