Problème avec les chiffres et stripos

Gload
Invité n'ayant pas de compte PHPfrance

20 nov. 2018, 01:42

Bonsoir,

Pour filtrer des robots spammeurs (très embêtants!!!!) J'ai cherché la solution.

J'ai trouvé l'idée du "stripos" qui permet de vérifier si un champ contient tel ou tel mot afin de pouvoir éviter l'envoi du formulaire si c'est le cas.
Du coup, dans l'un des champs, j'ai voulu interdire tous les chiffres (car ça fonctionne avec des mots, je me suis dit que vu que les robots utilisent des chiffres dans ce champ, ce serait le compromis parfait !)

Sauf que.. cette fonction stripos fonctionne bien avec des lettres mais pas avec des chiffres...
Vu que les robots laissent des messages en objet avec des codes de ce style "4478755", je voudrais interdire les chiffres dans le champ objet.

Voici ma requête:

Code : Tout sélectionner

$un = "1"; $deux = "2"; $trois = "3"; $quatre = "4"; $cinq = "5"; $six = "6"; $sept = "7"; $huit = "8"; $neuf = "9"; if (stripos($_POST["objet_poster"], $un) || stripos($_POST["objet_poster"], $deux) || stripos($_POST["objet_poster"], $trois) || stripos($_POST["objet_poster"], $quatre) || stripos($_POST["objet_poster"], $cinq) || stripos($_POST["objet_poster"], $six) || stripos($_POST["objet_poster"], $sept) || stripos($_POST["objet_poster"], $huit) || stripos($_POST["objet_poster"], $neuf) === false) {
Mais ça ne fonctionne pas avec les chiffres.. uniquement avec des lettres.. pouvez-vous m'aider ?

Merci à vous !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

20 nov. 2018, 10:14

Afin de facilité la lisibilité des sujets sur le forum, merci de ne pas ouvrir plusieurs sujets sur le même problème.
Je ferme donc ce post et renvoie vers l'autre sujet qui contient déjà ta question :
php-debutant/robots-spammeurs-sos-t279489.html
Quand tout le reste a échoué, lisez le mode d'emploi...