Isset & empty PHP

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 : Isset & empty PHP

Re: Isset & empty PHP

par moogli » 01 juil. 2011, 13:24

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 ;)

@+

Re: Isset & empty PHP

par Skw33d » 01 juil. 2011, 13:22

Envoi le code de ton formulaire et le début du traitement de la connexion.

Re: Isset & empty PHP

par P_W » 01 juil. 2011, 10:36

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

par Skw33d » 28 juin 2011, 14:20

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

par epommate2 » 28 juin 2011, 12:54

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

par P_W » 28 juin 2011, 12:11

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

par Mazarini » 28 juin 2011, 11:14

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'])))

Isset & empty PHP

par P_W » 28 juin 2011, 11:00

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 ?