IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] Comportement bizarre condition if


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut [PHP-JS] Comportement bizarre condition if
    Bonjour,

    J'ai créé une application de plusieurs pages php sur lesquelles les valeurs sélectionnées s'ajoutent les unes aux autres jusqu'à une page de traitement en utilisant une variable session pour obtenir le total.

    Sur la page de traitement je refais le calcul et je le compare à la variable session pour valider le total. Mais il y a un hic dans la condition suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($_SESSION["total"] != $total) {
    	$display .= "Erreur total";
    }
    J'ai fait un echo des 2 valeurs, elles sont identiques mais php entre quand même dans la condition et m'affiche une erreur!

    Y aurait-il qqch de tout con que je n'aurais pas vu?

  2. #2
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut
    Est-ce que les deux variables sont du même type? Il y'en aurait pas une en integer et l'autre en string ?
    Aucune aide par MP, utilisez le forum.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Nom même pas je ne comprends vraiment pas ce comportement!

    Voici le résultat d'un var_dump sur les 2 variables :

    $_SESSION[total] : float(1004.46)
    $total : float(1004.46)
    Même type, même valeur!

    Bizarre, bizarre, ...

  4. #4
    Membre confirmé Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Points : 627
    Points
    627
    Par défaut
    Et comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($_SESSION['total'] !== $total) {  $display .= "Erreur total"; }
    GAMIN !!!!
    _______________________________________________
    PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX

  5. #5
    Invité
    Invité(e)
    Par défaut
    Malheureusement ça ne fonctionne toujours pas. J'ai aussi essayé d'inverser la condition pour que si les valeurs sont égales alors il m'affiche un message de succès mais ça ne fonctionne pas non plus.

  6. #6
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut
    Si tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ($_SESSION['total'] == $total) {  $display .= "Erreur total"; }
    Il rentre bien dans le if ?
    Aucune aide par MP, utilisez le forum.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Finalement j'ai laissé tomber la vérification car ce problème me dépasse, serait-ce un bug de php? En tous cas je n'ai jamais eu un problème de ce genre!

    Je vais implémenter ce test plus loin dans le code ou alors écrire un petit JavaScript.

    Merci d'avoir donné votre avis sur la question!

    webrider

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par J0r_x
    Si tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ($_SESSION['total'] == $total) {  $display .= "Erreur total"; }
    Il rentre bien dans le if ?
    Non, il ne rentre pas dans la condition. A mon avis un bug de PHP 5.2...

    webrider

  9. #9
    Membre confirmé Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Points : 627
    Points
    627
    Par défaut
    C'est vraiment très bizarre, car je viens de faire un test à peu près similaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php	$total = 123.54;
    		$tabl = array(133.54);
    		$display = 'OK, ';
    		if ($tabl['0'] !== $total) { $display .= "Mais erreur sur total"; }
    		echo $display;
    		echo '<hr>';
    ?>
    Tout fonctionne, il affiche 'OK, Mais erreur sur total'
    Et là,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php	$total = 123.54;
    		$tabl = array(123.54);
    		$display = 'OK, ';
    		if ($tabl['0'] !== $total) { $display .= "Mais erreur sur total"; }
    		echo $display;
    		echo '<hr>';
    ?>
    Tout fonctionne aussi, il affiche 'OK,'.

    Peux-tu faire le test avec ça...
    Si ça marche pas, c'est un bug PHP...
    GAMIN !!!!
    _______________________________________________
    PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX

  10. #10
    Invité
    Invité(e)
    Par défaut
    Ca fonctionne avec ce tableau, l'erreur serait-elle sur les variables session?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. PHP et session_register : comportement bizarre
    Par saluts92b dans le forum Autres langages pour le Web
    Réponses: 0
    Dernier message: 30/10/2008, 13h59
  2. Formulaire PHP comportement bizarre
    Par mat.d dans le forum Langage
    Réponses: 1
    Dernier message: 29/08/2007, 09h18
  3. [PHP-JS] Comportement bizarre
    Par shelko dans le forum Langage
    Réponses: 3
    Dernier message: 26/06/2007, 14h57
  4. Réponses: 4
    Dernier message: 27/10/2006, 14h19
  5. Réponses: 1
    Dernier message: 04/10/2006, 19h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo