If et Else, problème !

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : If et Else, problème !

par albat » 28 déc. 2006, 12:52

Mieux vaut être rigoureux dans ton code.

if (!$valide) équivaut à if ($valide==false)

Le reste n'est qu'assimiliation abusive et peut entraîner des bugs.

par zeus » 28 déc. 2006, 12:48

Pour moi, le soucis se situe ici
si pas $valide peut signifier
  • si $valide == 0
  • si $valide == ''
  • si $valide == FALSE
  • ...
Ce qui n'est pas explicite et peut cacher une erreur dans le développement. Une fonction qui retourne '' au lieu de '0' a cause d'une mauvaise gestion d'erreur.

Alors qu'avec
si $valide == '0', je suis sûr de ce que contient $valide ;)

par Invité » 28 déc. 2006, 12:39

Cela m'étonnerait beaucoup, d'autant que cette synthaxe est -pour moi en tout cas- plus aisée à lire :

avant => "Si $valide == 0" :shock:
après => "Si pas $valide" 8)

Je préfère de loin la deuxième version :lol:

par Truc » 27 déc. 2006, 23:24

Qu'est ce qui nous dit qu'une prochaine évolution de PHP ne va pas inverser cette manière de tester ? ;)
J'espère pas :x
Je serais bon pour des nuits blanches :cry:

par zeus » 27 déc. 2006, 23:07

Avantageusement, je ne suis pas sûr :-k

Qu'est ce qui nous dit qu'une prochaine évolution de PHP ne va pas inverser cette manière de tester ? ;)
De manière plus générale, je préfère etre le plus explicite possible pour éviter les soucis :D

par MS-DOS_1991 » 27 déc. 2006, 22:33

Bonjour à tous :)

Juste un petit mot en passant : le code if($valide == '0') peut être avantageusement remplacé par : if (!$valide) ;)

par ouckileou » 27 déc. 2006, 22:21

Merci HD, deux accolades manquantes je pense en effet qu'il n'aurait pas pu trouver seul et que j'ai été bien stupide de renvoyer vers la doc.

=D>


:?

Par contre ami Invité, prends l'habitude à l'avenir de nous donner les messages d'erreurs quand tu en as, pour qu'on puisse t'aider plus facilement.

par HD » 27 déc. 2006, 19:49

<?php
if($valide=='0') {
      mysql_query("UPDATE membres SET valide='1' WHERE pseudo='$pseudo'") or die ('Erreur : '.mysql_error());
echo 'Compte valide'; 
}
else 

echo 'compte non valide';

mysql_close ();  
?> 

par ouckileou » 27 déc. 2006, 19:44

Les messages d'erreurs généralement ça aide pour trouver

Et pour apprendre, la doc est très utile :
http://fr.php.net/if
http://fr.php.net/else

Un coup d'oeil sur les exemple devraient t'orienter. parceque si tu ne peux pas corriger tes if/else tout seul, tu es mal barré pour continuer à coder :)

If et Else, problème !

par Invité » 27 déc. 2006, 19:43

Hello,

Est ce que quelqu'un pourrait me corriger ce petit bout de code car quelques erreurs y sont présentes et je ne les trouve pas (j'y connait rien) !:
<?php
if($valide==0) 
      mysql_query("UPDATE membres SET valide=1 WHERE pseudo='$pseudo'") or die ('Erreur : '.mysql_error());
echo 'Compte valide'; 
{
echo 'compte non valide';
}
mysql_close ();  
?> 
Par avance,merci :wink: