If et else en php

raquier -  
Alain_42 Messages postés 5413 Statut Membre -
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.
Configuration: Windows XP
Firefox 3.0.4

5 réponses

  1. Yoan Messages postés 11905 Statut Modérateur 2 356
     
    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
  2. 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
  3. Yoan Messages postés 11905 Statut Modérateur 2 356
     
    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
  4. raquier
     
    Non le texte est exactement le meme dans la base je pensai que ca venait plutot de mon code...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Yoan Messages postés 11905 Statut Modérateur 2 356
     
    euh, non.
    Juste avant le test conditionnel, essaie de placer ceci : $donnees['texte']='toto';
    0
    1. 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
      1. Alain_42 Messages postés 5413 Statut Membre 904 > 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