J'ai une classe de formulaire avec une variable statique à l'intérieur de celle-ci qui enregistre les erreurs. Par exemple:
<?php
class form {
//this is our array to hold fields that have errored so we can apply an error class to the input fields
static public $errors = array();
static public function setError($error) {
self::$errors[] = $error;
}
static public function parseErrors() {
$output .= '<ul>';
foreach(self::$errors as $message) {
$output .= '<li>'.$message.'</li>';
}
$output .= '</ul>';
return $output;
}
//... other functions
}
?>
ensuite enregistrer les erreurs à partir de vos fonctions de validation, vous pouvez faire quelque chose comme ceci:
<?php
function myvalidate($value) {
// if this validation fails
form::setError('Field is required');
}
?>
Ensuite, il suffit d'appeler les parseErrors à cracher sur vos erreurs. S'il vous plaît noter que ce ne sont que des extraits. J'ai en fait une classe logger qui interagit avec la classe de formulaire, l'a modifiée pour la consolidation.
Je préfère faire des choses comme celle-ci que d'utiliser GLOBALS, cela peut devenir très compliqué en utilisant GLOBALS ou la SESSION d'ailleurs, ce qui est une autre option.
Vous voulez une variable accessible globalement qui n'est pas globale? –
Vous pouvez rechercher une bibliothèque de formulaires qui traite de manière cohérente et accessible. – hakre