$POST form si la valeur d'un champ correspond au array

Résolu
Dutchman24 - 8 mai 2017 à 11:17
Dutchman24
Messages postés
23
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
3 avril 2018
- 10 mai 2017 à 19:08
Bonjour,

J'aimerais protège mon formulaire de contact contre le spam avec une question simple.

Premièrement j'ai déjà ajouter un champ invisible 'email-1' dans le formulaire, si cette champ est remplis par un robot le formulaire n'est s'envoie pas.

if(isset($_POST['email-1']) && $_POST['email-1'] == '')


Sur cette meme principe j'ai mis un champ qui demande si vous-êtes un robot? si vous répondez par "non" le formulaire est envoyé.

if(isset($_POST['norobot']) && $_POST['norobot'] == 'non')


Maintenant je ne veux pas metre 1 valeur comme ci-dessus 'non', mais un variable qui valide tout les valeurs dans l'array.

quelque chose comme :
$NON = array ('non','NON','Non','nON','nee','NEE','Nee','nEE');
if(isset($_POST['norobot']) && $_POST['norobot'] == '$NON')

Si je remplace le valeur 'non' par le variable $NON ça ne marche pas.

Merci de votre aide.

2 réponses

NHenry
Messages postés
14927
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
162
8 mai 2017 à 11:53
2
Dutchman24
Messages postés
23
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
3 avril 2018

8 mai 2017 à 12:52
Merci NHenry,

Mais comment je peux implémenter le variable $NON dans cette function :

???
$NON = array ('non','NON','Non','nON','nee','NEE','Nee','nEE');

if(isset($_POST['norobot']) && $_POST['norobot'] == $NON)
???
0
NHenry
Messages postés
14927
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
162
8 mai 2017 à 12:59
Déjà, mets tout en minuscule, cale t'évitera ton :
$NON = array ('non','NON','Non','nON','nee','NEE','Nee','nEE');
en mettant :
$NON = array ('non','nee');

Ensuite, il y a des exemples sur les page que je t'ai donné, à toi d'essayer.
0
Dutchman24
Messages postés
23
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
3 avril 2018
> NHenry
Messages postés
14927
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022

8 mai 2017 à 16:31
Merci de ta réponse mais je n'arrive pas a résoudre cette problème.

Si j'utilise le function
if(isset($_POST['norobot']) && $_POST['norobot'] == 'non')
Je met dans le champ "norobot" la réponse 'non' et le formulair est envoyé.

Si je marque 'NON', ça marche pas parce que la réponse doivent être 'non'.

Pourquoi je ne peux pas remplacer la réponse souhaité =='non' par un variable ==$NON (par example) qui compare la réponse avec les différentes mots possibles stocké dans l'array $NON.

Je ne suis pas une expert donc j'arrive pas a trouver la logique avec les 2 liens que tu m'envoyé car je ne sait pas comment configurer mon variable en strtolower et je prefer de faire ceci le plus simplement (pour moi) possible.
0
NHenry
Messages postés
14927
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
162
8 mai 2017 à 18:11
As-tu regardé les 2 liens de ma première réponse ?
0
Dutchman24
Messages postés
23
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
3 avril 2018

8 mai 2017 à 18:41
Oui, mais je n'arrive pas à les appliques. J'essayé tout les combinaisons que je pouvez m'imaginer.
0
NHenry
Messages postés
14927
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
162
8 mai 2017 à 18:50
C'est pourtant pas compliqué avec les exemples :
<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = strtolower($str);
echo $str; // Prints mary had a little lamb and she loved it so
?>


<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) { // True
    echo "Got Irix";
}
if (in_array("mac", $os)) { //False
    echo "Got mac";
}
?>


Quel code as-tu essaye en utilisant ces 2 fonctions ?
0