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

Résolu
Dutchman24 - 8 mai 2017 à 11:17
Dutchman24 Messages postés 24 Date d'inscription mercredi 5 novembre 2014 Statut Non membre Dernière intervention 12 septembre 2023 - 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 15140 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 30 juin 2024 159
8 mai 2017 à 11:53
Dutchman24 Messages postés 24 Date d'inscription mercredi 5 novembre 2014 Statut Non membre Dernière intervention 12 septembre 2023
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)
???
NHenry Messages postés 15140 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 30 juin 2024 159
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 24 Date d'inscription mercredi 5 novembre 2014 Statut Non membre Dernière intervention 12 septembre 2023 > NHenry Messages postés 15140 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 30 juin 2024
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 15140 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 30 juin 2024 159
8 mai 2017 à 18:11
As-tu regardé les 2 liens de ma première réponse ?
0
Dutchman24 Messages postés 24 Date d'inscription mercredi 5 novembre 2014 Statut Non membre Dernière intervention 12 septembre 2023
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 15140 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 30 juin 2024 159
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
Rejoignez-nous