Ok, ho aggiornato il codice nel seguente modo, però non mi stampa il contenuto dell' input (tramite $key dell' array $valori):
Devo usare $this anche per $campo (in: $contenuto = (Clear($_POST[$campo])!='') ? (Clear($_POST[$campo])) : false; ) e per $value nel foreach? Con un print_r($miaC->valori) appare un array vuotoCodice PHP:
<?php
function Clear($var) {
return htmlspecialchars(addslashes(trim($var)));
}
class InputCheck {
public $c = array();
public $valori = array();
public function preleva() {
foreach($this->c as $campo) {
$contenuto = (Clear($_POST[$campo])!='') ? (Clear($_POST[$campo])) : false;
$valori[$campo] = $this->contenuto;
}
}
public function Controllo() {
$err = 0;
foreach($this->valori as $key => $value) {
if(empty($value)) {
$err++;
}
}
if($err > 0) {
return false;
} else {
return true;
}
}
}
if(isset($_POST['submit'])) {
$miaC = new InputCheck();
$miaC->c[] = "PrimoInput";
$miaC->preleva();
if($miaC->Controllo()) {
echo 'Campi prelevati con successo';
echo $miaC->valori['PrimoInput'];
} else {
echo 'Errore';
}
}
?>
<form action="" method="POST">
<input type="text" name="PrimoInput" />
<input type="submit" name="submit" value="Submit" /></form>