Php, pb de variable: chaine affiche booléen

Fermé
steeff - 1 mai 2011 à 15:48
 steeff - 1 mai 2011 à 18:05
Bonjour à tous :)

J'ai un problème pour afficher un message contenu dans une variable.
Au lieu d'afficher le message, ça affiche un chiffre (je suppose que c'est un booléen).

Je pense que ça vient du fait que la variable est utilisée dans différentes zones (entre plusieurs accolades différentes). Mais je ne voit pas comment faire autrement. J'ai essayé en déclarant la variable $msg=''; en dehors de la fonction et d'ajouter "global" devant la variable au tout début de la fonction, mais ça ne change rien.

Ça me renvoie toujours "0" au lieu de m'afficher le message voulu.

Voici mon code :

// Vérifier que l'utilisateur a bien renseigné tous les champs obligatoires
 function VerifChamps($msg, $nom, $prenom, $email, $message){

	$msg = 'Veuillez renseigner les champs suivants : ';
	//echo $msg; //pour tester => renvoie bien la chaine du dessus
		$valide = true;
			
		if (empty($nom)){
					
		$msg += '-votre nom';
		$valide = false;
		//echo $msg; //pour tester => renvoie "0" au lieu d'une chaine (probablement un booléen)
		}
				
		if($valide == false) {	
					
		   return $msg;				
					
		}
		else return "";

}


J'ai fait plusieurs tests, j'en ai mis deux ici, qui montrent bien mon problème. Je ne sais pas comment faire pour que les variables "msg" dans les if soient bien celle déclarée au-dessus.

1 réponse

Mon problème est résolu, en fait c'était un problème dans l'écriture avec le += qui ne fonctionne pas ! :)
0