Télécharger
Noter:

Ajouté le 2017-09-10
Visionné 1145 fois
5/5 (2)

Fonction interdisant n'importe quel terme dans un formulaire

Description

Cette fonction permet de ne pas valider un formulaire si un mot que vous avez mis au préalable dans le fichier de configuration en .txt est présent.

Refuse de soumettre le formulaire si il contient le mot "VIAGRA" (par exemple) qui sera considéré comme SPAM et le mail (ou le commentaire) ne sera pas envoyé.


Fonctionnement:

1. Vous mettez les mots à refuser dans le fichier txt (1 mot par ligne,il doit y avoir aucune ligne vide).

2. Lors de la validation du formulaire par le visiteur, le script demande si son message contient un des mots que vous avez interdits.

3. Le formulaire ne sera pas soumis pas tant qu'il y aura un mot dans son texte que vous acceptez pas.


function mot_interdit($message){
if(filesize("interdictions.txt")>0){
$txt= file_get_contents("interdictions.txt");//on récupère le contenu de notre fichier texte "interdictions.txt"
$ex=explode("\r\n",$txt);//on éclate le fichier en plusieurs lignes pour récupérer ensuite chaque ligne et une vérification ligne par ligne
//on boucle les interdictions avec for() pour voir si un terme qui est dans le fichier txt est aussi dans le contenu du message
for($i=0;$i < count($ex);$i++){
//si un terme est trouvé: on passe la variable interdiction à 1 pour ensuite ne pas valider le formulaire
if(preg_match("#(".$ex[$i].")#i",$message)){//notez le petit "i" à la fin de la regex pour valider un mot en majuscule comme en minuscule (i pour insensible à la casse)
return array("interdiction"=>1,"TermeInterdit"=>$ex[$i]);//on enregistre le mot interdit (TermeInterdit) pour en informer la personne qui poste afin qu'il puisse solutionner l'erreur facilement
}
}
}
return false;
}


if(isset($_POST['message'])) {
if(mot_interdit($_POST['message'])){//si un mot interdit à été trouvé dans le message
$mot_interdit=mot_interdit($_POST['message']);
echo "Le terme ".$mot_interdit['TermeInterdit']." est interdit.";
} else {//sinon on valide le formulaire
echo "OK, le formulaire ne contient pas de mots/termes interdits";
//traitement du formulaire...
}
}
?>

<form method="post">
<textarea name="message"></textarea>
<input type="submit"/>
</form>



mot1
mot2
etc
...

Besoin de travaux pour votre site ?

Je suis là pour vous aider !

Commentaires

Ajouter un commentaire

Commenter
Pseudo/Nom *
Email *
Message *
Captcha *
memo2
Commenter

Les champs marqués d'un * sont obligatoires.

Pas encore de commentaire, soyez le premier!

Retour à la liste des scripts