Php, pb de variable: chaine affiche booléen

  • Auteur de la discussion steeff
  • Date de début

steeff

Habitué
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 (un booléen je suppose).

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 :

[cpp]
// 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 "";

}
[/cpp]

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.

J'espère que vous pourrez m'aider.

Je vous remercie d'avance.
 

steeff

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

zeb

Modérateur
Salut,

M'enfin Steeff.
L'opérateur de concaténation n'est pas le plus (+) mais le point (.) en PHP !

Essaie comme ça :
Code:
$msg .= '-votre nom';
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 079
Messages
6 716 708
Membres
1 586 247
Dernier membre
MrAzgarIII
Partager cette page
Haut