Page 1 sur 1

Isset & empty PHP

Posté : 28 juin 2011, 11:00
par P_W
Bonjour à tous,

J'utilise sur ma page php : if (isset($_POST['log']) || empty($_POST['log']) && isset($_POST['pass']) || empty($_POST['pass']))

Donc jusqu'a la tout va bien je rentre mon login et le pass et je me connecte, jusqu'a la tout va bien :D

Mais dés que je ne rentre rien dans le login et le pass, il teste quand meme la connexion ..
Quelqu'un aurait une idée ?

Re: Isset & empty PHP

Posté : 28 juin 2011, 11:14
par Mazarini
Bonjour,

Les opérateurs ont un ordre de priorité. Les opérateurs "et" sont traités avant les opérateurs "ou". Le mieux est de mettre des parenthèses pour être sur de l'ordre de traitement des conditions.

if (isset($_POST['log']) || empty($_POST['log']) && isset($_POST['pass']) || empty($_POST['pass']))
est équivalent à :
if (isset($_POST['log']) || (empty($_POST['log']) && isset($_POST['pass'])) || empty($_POST['pass']))
alors que tu veux certainement faire :
if ((isset($_POST['log']) || empty($_POST['log'])) && (isset($_POST['pass']) || empty($_POST['pass'])))

Re: Isset & empty PHP

Posté : 28 juin 2011, 12:11
par P_W
Ok, merci de l'info je ferais attention la prochaine fois grace a ton conseil :wink:

Mais malgré sa, je l'ai modifié par celui que tu m'as indiqué mais le problème est toujours la . .

Re: Isset & empty PHP

Posté : 28 juin 2011, 12:54
par epommate2
isset($a) || empty($a)

isset => $a est défini, éventuellement à vide ($a = '' par exemple)
empty => $a est non défini ou vide

isset || empty => $a est défini ou non, vide ou non... bref (isset($a) || empty($a)) est vrai quelque soit $a ...

Donc... je suis pas bien sur que c'est ce que tu veux ....

C'est pas plutot (! empty) ?

Re: Isset & empty PHP

Posté : 28 juin 2011, 14:20
par Skw33d
Ouais, je pense que si tu ne veux pas qu'on tente de se connecter avec un champ vide, ce serait plutôt ça :
if(isset($_POST['log'] && isset($_POST['pass'] && !empty($_POST['log']) && !empty($_POST['pass']))
{
    # Traitement de la connexion ici.
}
Plus d'informations ici :

faq-tutoriels/isset-empty-null-sont-sur ... 49889.html

Re: Isset & empty PHP

Posté : 01 juil. 2011, 10:36
par P_W
Oui c'est sa que j'essaye de faire . .

J'ai essayé avec ta partie de code Skw33d, mais sa ne marche pas. Et pourtant je suis daccord avec toi !

Re: Isset & empty PHP

Posté : 01 juil. 2011, 13:22
par Skw33d
Envoi le code de ton formulaire et le début du traitement de la connexion.

Re: Isset & empty PHP

Posté : 01 juil. 2011, 13:24
par moogli
Oui c'est sa que j'essaye de faire . .

J'ai essayé avec ta partie de code Skw33d, mais sa ne marche pas. Et pourtant je suis daccord avec toi !
hum tu a ajouté les deux ) manquante ? :mrgreen:

sinon oui le code ;)

@+