Télécharger
Noter:

Ajouté le 10/09/2017
Visionné 785 fois
5/5

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.


Fonctionnement:

1. Vous mettez des mots dans le fichier txt que vous ne voulez pas que votre formulaire acceptent

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 se valide pas tant qu'il y aura un mot que vous ne voulez pas et qui est dans son message

Le contenu du fichier texte devra être composé de mots bien évidement et 1 seul mot par ligne, il doit y avoir aucune ligne vide!

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
...

Commentaires

Pas encore de commentaire ajouté, soyez le premier!

Ajouter un commentaire

Pseudo/Nom *
Email *
Message *
La balise [code]Votre code...[/code] peut être utilisée

Captcha * memo2

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

Retour à la liste des scripts

Flag Counter