Problème vérification de formulaire aidez moi !!
Fermé
ferraioli
Messages postés
11
Date d'inscription
jeudi 3 février 2011
Statut
Membre
Dernière intervention
10 juin 2015
-
Modifié par ferraioli le 17/05/2013 à 00:43
ferraioli Messages postés 11 Date d'inscription jeudi 3 février 2011 Statut Membre Dernière intervention 10 juin 2015 - 21 mai 2013 à 02:07
ferraioli Messages postés 11 Date d'inscription jeudi 3 février 2011 Statut Membre Dernière intervention 10 juin 2015 - 21 mai 2013 à 02:07
A voir également:
- Problème vérification de formulaire aidez moi !!
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Vérification url - Guide
- Formulaire de contact le bon coin introuvable - Forum Réseaux sociaux
- Le formulaire rempli - Guide
4 réponses
Utilisateur anonyme
17 mai 2013 à 08:42
17 mai 2013 à 08:42
Bonjour
La valeur de $compare que tu utilises pour ton test n'est pas la bonne.
Tu utilises une valeur qui vient d'être tirée au sort pendant la présente exécution du script, alors que ton utilisateur a rempli le formulaire la fois précédente. Je détaille :
Ton script s'exécute pour la 1ère fois. tu présente un formulaire à ton visiteur avec une certaine addition qui donne un certain résultat. Comme le formulaire n'est pas rempli, isset($_POST['inviamo']) est faux et la vérification à la fin du formulaire n'est pas faite.
L'utilisateur remplit et valide le formulaire : ton script est appelé à nouveau.
IL RECALCULE DONC une nouvelle valeur aléatoire pour $compare. Quand tu vérifieras cette valeur par rapport à celle saisie par le visiteur, elle n'a aucune raison d'être égale.
Deux solutions (il y en a certainement d'autres) : tu mémorises la valeur à vérifier dans une variable de session, ou dans un champ hidden de ton formulaire.
La valeur de $compare que tu utilises pour ton test n'est pas la bonne.
Tu utilises une valeur qui vient d'être tirée au sort pendant la présente exécution du script, alors que ton utilisateur a rempli le formulaire la fois précédente. Je détaille :
Ton script s'exécute pour la 1ère fois. tu présente un formulaire à ton visiteur avec une certaine addition qui donne un certain résultat. Comme le formulaire n'est pas rempli, isset($_POST['inviamo']) est faux et la vérification à la fin du formulaire n'est pas faite.
L'utilisateur remplit et valide le formulaire : ton script est appelé à nouveau.
IL RECALCULE DONC une nouvelle valeur aléatoire pour $compare. Quand tu vérifieras cette valeur par rapport à celle saisie par le visiteur, elle n'a aucune raison d'être égale.
Deux solutions (il y en a certainement d'autres) : tu mémorises la valeur à vérifier dans une variable de session, ou dans un champ hidden de ton formulaire.
ferraioli
Messages postés
11
Date d'inscription
jeudi 3 février 2011
Statut
Membre
Dernière intervention
10 juin 2015
17 mai 2013 à 15:29
17 mai 2013 à 15:29
Bonjour, merci pour ta réponse, effectivement je comprend mieu, des fois aux hasard mon script marche !
Mais je ne vois pas comment faire ça avec une variable session ou hidden :/
Pourrais tu me donner un exemple?
Cordialement
Mais je ne vois pas comment faire ça avec une variable session ou hidden :/
Pourrais tu me donner un exemple?
Cordialement
Utilisateur anonyme
17 mai 2013 à 15:50
17 mai 2013 à 15:50
méthode avec champ hidden :
Oublie ta variable $compare
Tu ajoutes dans ton formulaire
Comme ça, tu recevras la bonne réponse avec le formulaire.
Au lieu de vérifier
tu dois vérifier
Ça n'est pas plus compliqué que ça...
Oublie ta variable $compare
Tu ajoutes dans ton formulaire
<input type="hidden" name="verif" value="<?php echo $numero1+$numero2; ?>" />
Comme ça, tu recevras la bonne réponse avec le formulaire.
Au lieu de vérifier
if ($compare==$verifica)
tu dois vérifier
if ($_POST['verif']==$verifica)
Ça n'est pas plus compliqué que ça...
ferraioli
Messages postés
11
Date d'inscription
jeudi 3 février 2011
Statut
Membre
Dernière intervention
10 juin 2015
21 mai 2013 à 02:07
21 mai 2013 à 02:07
Merci beaucoup le père :)
Aurais tu des conseil a me donner pour mieu protèger mon code ?
Cordialement
Aurais tu des conseil a me donner pour mieu protèger mon code ?
Cordialement