filtres/contrôle sur le même email

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 : filtres/contrôle sur le même email

Re: filtres/contrôle sur le même email

par AB » 20 mai 2011, 21:31

Après validation javascript il est fortement recommandé de refaire une validation php puisque javascript peut être désactivé.
Mais cela peut prendre une autre forme. Par exemple si le champ mail est unique mysql va émettre un message d'erreur que tu pourras exploiter si tu essais de rentrer un deuxième mail identique dans ta table.

Re: filtres/contrôle sur le même email

par aspkiddy » 20 mai 2011, 20:22

Salut AB,

Super ton exemple...

Je vais travailler pour que on cherche dans MySql...

Un grand merci...

Par contre, puisqu'il y a un librairie jquery (qui es un javasScript) et JavaScript, selon ton explication, c'est "très facile de le désactiver" et dans ce cas là, cela ne marchait pas...

Re: filtres/contrôle sur le même email

par AB » 20 mai 2011, 19:40

Pour vérifier qu'un email identique n'existe pas déjà dans ta bdd tu peux regarder ici. C'est un exemple avec ajax et jquery. Dans cet exemple on teste le nom avec une requête ajax mais pour un email se serait le même principe.

Et pourquoi ne par faire confiance à javascript et bien parce qu'il est très facile de le désactiver par exemple dans javascript c'est le menu outil->options->contenu. On doit donc doubler avec un contrôle php derrière.

Re: filtres/contrôle sur le même email

par aspkiddy » 20 mai 2011, 15:55

Salut macgawel,

Merci pour ton code de l'article 1... C'est hors contexte, mais bien réfléchi, alors je vais l'utiliser pour supprimer 5 lignes de mon code...
En fait, avec ton code je vois que je ne réfléchis pas très bien au niveau de logique... Ton idée me fait réfléchir : il faut que je voie toutes les possibilités... :D

Je n'ai pas bien compris comment les utilisateurs peuvent tricher avec JavaScript, tu pourrais me dire un peu plus, même si cela est aussi hors contexte, puisque je suis curieux et que tu as des idées :?:

Alors dans le contexte, c'est vrai que j'ai un bd de MySql...

je fais ainsi :
  • 1er écran, mon formulaire... je fais les vérifications avec JavaScript si c'est bon
    je l'envoie les informations (par Post) à 2e page qui écrit les informations dans mon BD mySql et j'affiche le message : Merci pour votre inscrpription, etc.
Alors, comment je peux faire pour que cela marche selon ta logique :

1er écran, mon formulaire...
Je fais les vérifications avec JavaScript si c'est bon j'amène les informations (par Post) à 2e page où j'envoie une requête qui va vérifier si l'email existe ou pas.

S'il existe j'affiche le message : désolé, etc. s'il n'existe pas, écriture les informations dans mon BD mySql et j'affiche le message : Merci pour votre inscrpription, etc.

Est-ce que c'est cela ?

Bonne journée

Re: filtres/contrôle sur le même email

par macgawel » 20 mai 2011, 10:07

Bonjour.

1. Rien à voir, mais vu que l'utlisateur n'a le droit qu'à un seul magazine, pourquoi ne pas tester directement qu'il en choisit un :

Code : Tout sélectionner

if (v_compte != 1 ) { alert("VEUILLEZ CHOISIR UN UNIQUE MAGAZINE S\'IL VOUS PLAIT !"); return false; }
2. Toujours rien à voir...
J'espère que tu fais des vérifications quand tu reçois le formulaire (en PHP). Il est toujours possible de "tricher" avec du Javascript....

3. Pour ton problème : Voir du côté d'AJaX.
En gros, tu envoies une requête à une page PHP qui va vérifier que l'email est correct, et qu'il n'existe pas dans ta base.
Si c'est bon, la page php renvoie (par exemple) OK, sinon KO.
Et si a page renvoie php KO tu affiches ton message...

filtres/contrôle sur le même email

par aspkiddy » 19 mai 2011, 20:52

Bonjour,


J'ai fait un formulaire et j'ai mis certains filtres/contrôle sur quelques champs à remplir avec le JavaScript...

Tout marche bien...

Code : Tout sélectionner

function check()... if (document.FormToto.nom.value=="") { alert("ECRIVEZ VOTRE NOM S\'IL VOUS PLAIT !"); return false; //.... if (document.FormToto.annee6.checked) { v_compte = v_compte + 1; } if (v_compte == 0 ) { alert("VEUILLEZ CHOISIR AU MOINS UN MAGAZINE S\'IL VOUS PLAIT !"); return false; } if (v_compte >> 1 ) { alert("VEUILLEZ CHOISIR MAX. UN MAGAZINE S\'IL VOUS PLAIT !"); return false; } //etc...
Voici ma question : comment je peux mettre un contrôle/filtre en contrôlant les emails : si un utilisateur a rempli le formulaire avec un email, une deuxième fois, un utilisateur qui a le même email ne puisse pas remplir et l'envoyer ?

Un message s’afficherait : ce courriel a déjà été saisi, vous ne pouvez pas envoyer le formulaire par le même email.