If et else en php

raquier -  
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai un petit probleme en creant mon site internet

Si je fait :
echo $donnees['texte'];
je vois que la valeur de ce champ est toto pourtant si je fait:

if ($donnees['texte'] =="toto"){

echo "TRUE";
}

else {

echo "FALSE";
}

Pourtant le serveur me renvoi toujours false pourquoi ?

Avec un seul signe egal il me renvoi toujours true.
A voir également:

5 réponses

Yoan Messages postés 11795 Date d'inscription   Statut Modérateur Dernière intervention   2 331
 
Probablement parce que $donnees['texte'] ne vaut pas 'toto', mais peut-être 'Toto', 'TOTO' ou encore 'toto '.
Montre-nous le code où est définit $donnees.
0
raquier
 
Salut Yoan, j'ai bien regarder pourtant le texte est le meme j'aurais pensé a une erreur dans mon code un peu plus haut:


$reponse = mysql_query("SELECT texte FROM orders WHERE orders_id='50'"); // Requête SQL
while ($donnees = mysql_fetch_array($reponse) )

echo $donnees['texte']; me renvoi bien le texte...

quel casse tete!!!
0
Yoan Messages postés 11795 Date d'inscription   Statut Modérateur Dernière intervention   2 331
 
Il te renvoie le texte, oui, as-tu vérifié qu'il n'y avait pas de subtilité entre majuscules/minuscules ou encore s'il n'y a pas un espace avant ou après 'toto' dans la base ?
0
raquier
 
Non le texte est exactement le meme dans la base je pensai que ca venait plutot de mon code...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Yoan Messages postés 11795 Date d'inscription   Statut Modérateur Dernière intervention   2 331
 
euh, non.
Juste avant le test conditionnel, essaie de placer ceci : $donnees['texte']='toto';
0
raquier
 
La ca marche ...

C'est a rien n'y comprendre...
dans ma chaine il y'a un accent " é " es'ce que le probleme pourrait venir de la ?
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894 > raquier
 
Bonjour,

dans ma chaine il y'a un accent " é " es'ce que le probleme pourrait venir de la ?

il n'y a pas de é dans toto ce qui voudrait dire que tu veux tester si tu as bien tot dans une chaine qui contient d'autres mots ?

alors avec =="toto" ça ne peut pas marcher il faut passer en plus par une autre fonction php de traitement de chaine
0