Dicton du 12 Décembre:
À la Saint-Corentin, le plein hiver glace le chemin.

Télécharger

Fonction interdisant n'importe quel terme dans un formulaire

Description

Cette function 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

La fonction:


Code source (PHP)

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
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;
}



Exemple:


Code source (PHP)

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>



Le fichier txt:


le contenu du fichier texte devra être composé de mots bien évidement et 1 seul mot par ligne, exemple:

mot1
mot2
etc
etc
...

Il doit y avoir aucune ligne vide!

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 * sept - = 3

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

Retour à la liste des scripts

Flag Counter