@lionel0769
...Faudra juste penser à t'arrêter à la fin du chapitre 5 si tu suis le tuto donné par jreaux62. Le chapitre 6 consacré aux bdd ne doit pas être consulté puisqu'il utilise l'extension mysql, obsolète depuis longtemps et qui est complètement supprimée en php7. En remplacement tu devras chercher des tutos sur pdo.
Et pour terminer l'histoire des opérateurs logiques, l'emploi de AND et OR ne pose pas de problème dans le contexte de leur code. Mais pour des conditions plus complexes c'est vite casse gueule et puis c'est le bug assuré - à moins de mettre des parenthèses pour bien délimiter la portée par rapport à l'opérateur précédent - dès qu'on emploie les opérateurs ternaires qui sont très souvent utilisés pour valider des variables et définir leur valeur par défaut.
Pour reprendre mon exemple : si on veut s'assurer qu'un champ texte a été transmis et n'est pas videOn voit ici que l'emploi du AND requière plus de précautions. Autant utiliser les opérateurs "&&" et "||" qui sont plus conformes au comportement "standard" (pour dire intuitif) attendu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (isset($_POST['toto']) && $_POST['toto'] != ''){} // L'équivalent avec un opérateur ternaire : $toto = isset($_POST['toto']) && $_POST['toto'] != '' ? $_POST['toto'] : false;// bon $toto = isset($_POST['toto']) AND $_POST['toto'] != '' ? $_POST['toto'] : false;// pas bon : la deuxième condition (AND $_POST['toto'] != '') ne sera pas testée $toto = (isset($_POST['toto']) AND $_POST['toto'] != '') ? $_POST['toto'] : false;// bon car la portée du AND a été définie avec les parenthèses en excluant l'opérateur précédent "="
Partager