Vérifier les champs obligatoires d'un formulaire

Soyez le premier à donner votre avis sur cette source.

Snippet vu 18 723 fois - Téléchargée 17 fois

Contenu du snippet

Ptite fonction toute simple qui n'apprendra rien aux coder confirmés mais qui reste pratique et que je n'ai pas croisé ici alors je post ;).

Source / Exemple :


<?php
	
	function check_empty_post($unauthorized_vars){
		$errors = array();//Tableau d'erreur vide
		foreach($unauthorized_vars as $value){
			if(empty($_POST[$value]) && $_POST[$value] != '0'){// si la valeur de poste est vide alors on l'ajoute aux erreurs
				$errors[] = $value;
			}
		}
		if(count($errors)){//si le tableau d'erreur n'est pas vide on retourne les erreurs sinon false
			return $errors;
		}else{
			return false;
		}
	}
	
//Exemple de tableau de champs obligatoire
	$unauthorized_vars = array(
		'login',
		'pass'
	);
	
//Exemple d'utilisation
	if($errors = check_empty_post($unauthorized_vars)){
		echo count($errors)." erreur(s).";
	}

?>

<?php //Pas super util mais je poste si quelqu'un a besoin
	
	function check_empty_post($unauthorized_vars,$error_string){
		$errors = array();
		foreach($unauthorized_vars as $value){
			if(empty($_POST[$value]) && $_POST[$value] != '0'){
				$errors[] = sprintf($error_string, $value);
			}
		}
		if(count($errors)){
			return $errors;
		}else{
			return false;
		}
	}
	
	$unauthorized_vars = array(
		'login',
		'pass'
	);
	$error_string = 'Le champs \'%s\' ne peut rester vide.<br />';
	
	if($errors = check_empty_post($unauthorized_vars, $error_string)){
		echo count($errors).' erreurs.<br />';
		foreach($errors as $value){
			echo $value;
		}
	}

?>

Conclusion :


Rien de révolutionnaire mais ça peut etre pratique.

A voir également

Ajouter un commentaire

Commentaires

codefalse
Messages postés
1127
Date d'inscription
mardi 8 janvier 2002
Statut
Modérateur
Dernière intervention
21 avril 2009
1 -
Une remarque : 0 n'est pas vide, or empty (0) retourne true :p
cs_choy
Messages postés
29
Date d'inscription
jeudi 26 juin 2003
Statut
Membre
Dernière intervention
10 mars 2009
-
As tu testé ? car je sais qu'en actionscript ça renvoi false donc j'ai testé avec php et chez moi (MAMP sur leopard) ça marche.
codefalse
Messages postés
1127
Date d'inscription
mardi 8 janvier 2002
Statut
Modérateur
Dernière intervention
21 avril 2009
1 -
php.net/empty

c'est la doc qui le dit :p
cs_choy
Messages postés
29
Date d'inscription
jeudi 26 juin 2003
Statut
Membre
Dernière intervention
10 mars 2009
-
lol alors je changerai ça dans un souci de propreté ^^ mais ça marche ici :p
Alors question, vaut il mieux que je fasse un if(count(array)>0) ou alors que je saute la déclaration de l'array et que je fasse un if(isset(array)) ?
les deux marchent mais est-ce bien propre ?
cs_choy
Messages postés
29
Date d'inscription
jeudi 26 juin 2003
Statut
Membre
Dernière intervention
10 mars 2009
-
bah en fait j'aime bien ton lien ^^ :

Retourne FALSE si var a une valeur non-vide et différente de zéro.

Ce qui suit est considéré comme étant vide :

"" (une chaîne vide)
0 (0 en tant qu'entier) <---------- :D
"0" (0 en tant que chaîne de caractères)
NULL
FALSE
array() (un tableau vide)
var $var; (une variable déclarée, mais sans valeur dans une classe)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.