Test saisie formulaire

cs_alaise Messages postés 11 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 16 janvier 2006 - 1 janv. 2006 à 17:20
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 17 janv. 2006 à 13:53
Bonjour,

Tout d'abord Bonne et Heureuse Année 2006 à toutes et tous.

Sinon j'ai un problème de contrôle de saisie de formulaire (php, template).

Ce test conditionnel ne fonctionne pas et je n'arrive pas à trouver pourquoi (il fonctionne si je mets qu'une variable)

if((!empty($var_1))OR(!empty($var_2))OR(!empty($var_3))OR(!empty($var_3))OR(!empty($var_4))OR(!empty($var_5))OR(!empty($var_6))OR(!empty($var_7)))
{

traitement
}

Merci de m'aider.

Alex

11 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
1 janv. 2006 à 19:43
Salut,

enlève toutes les parenthèses déjà ça ira mieux je pense :-)

if(!empty($var_1) OR !empty($var_2) OR !empty($var_3) OR !empty($var_4) OR !empty($var_5) OR !empty($var_6) OR !empty($var_7))

{

Ensuite d'où proviennent ces variables ? de $_POST, $_GET ? si c'est le cas faut remplacer ces variables par $_POST['variable'] ou $_GET['variable'] (en fonction du cas)

a +

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
cs_alaise Messages postés 11 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 16 janvier 2006
2 janv. 2006 à 13:22
Bonjour,

Ca vient de $_GET et sans les parenthèses ça ne fonctionnait pas non plus.


Si je fais un test sur une seule variable ça fonctionne mais dès qu'il y en a au moins 2 ça ne marche pas.


Je vais réessayer sans les parenthèses ....

Merci
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 janv. 2006 à 15:10
Salut,


if(!empty($var_1) OR !empty($var_2) OR !empty($var_3) OR !empty($var_4)
OR !empty($var_5) OR !empty($var_6) OR !empty($var_7))

{

veut dire : si au moins une est remplie...





if(!empty($var_1) && !empty($var_2) && !empty($var_3)
&& !empty($var_4) && !empty($var_5) &&
!empty($var_6) && !empty($var_7))

{


veut dire si toutes sont remplies...



les parenthèses étaient inutiles, donc, il faut les enlever...


In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
2 janv. 2006 à 16:02
et change tes variables par des $_GET alors...

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0

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

Posez votre question
cs_Stephane Messages postés 550 Date d'inscription vendredi 5 janvier 2001 Statut Membre Dernière intervention 23 septembre 2006
2 janv. 2006 à 19:39
Heu gros doute en moi lol

le ou logique en php c'est pas deux barres verticale : ||



ou alors c'est qu'en c...

+
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
2 janv. 2006 à 20:36
si ça fonctionne aussi en PHP
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 janv. 2006 à 23:14
Salut,


le ou || et le ou OR n'ont pas la même fonction, je laisse le soin à antho de nous rapeller la différence...



le || marche dans énormément de langages...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
3 janv. 2006 à 01:04
Heu ... || ou OR sont identiques dans la fonction.

Cependant, c'est au niveau des priorités d'opérateurs qu'ils ne sont pas identiques, car l'un (||) est prioritaire face à l'autre (OR).

En effet, ces 2 conditions sont identiques :if ( $x TRUE OR $y TRUE || $z == TRUE )
if ( $x TRUE || ( $y TRUE || $z == TRUE) )

C'est juste un problème de lisibilité :)
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 janv. 2006 à 07:23
if ( $x == TRUE OR $y == TRUE || $z == TRUE ) est identique à if ( $x == TRUE || ( $y == TRUE || $z == TRUE) )
identique à ça if ( ($x TRUE || $y TRUE) || $z == TRUE ) identique à ça if ( $x == TRUE OR $y == TRUE OR $z == TRUE )

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
obcstaff Messages postés 147 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 28 janvier 2008
17 janv. 2006 à 12:14
Sinon fais plusieurs conditions (plusieurs IF), ton code sera plus
clair et ca marchera mieux pour les traitements...car tu les traitera
un par un.

De plus tu sera indiqué a l'utilisateur ce qui ne va pas...enfin c'est pour moi la meilleur des facons... ^^
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
17 janv. 2006 à 13:53
"et ca marchera mieux pour les traitements...car tu les traitera un par un"

ça fait du code inutile en plus, en fait normalement le parseur PHP traite la première condition puis enchaîne ou non en fonction du résultat.

if($machin==2 AND $truc==5)

si machin est différent de 2 il ne va pas aller regarder que truc soit égal à 5 étant donné que la condition sera fausse.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
Rejoignez-nous