Bonjour,
Je suis nouveau sur le forum et grand débutant PHP. Je précise que je ne suis plus tout jeune (63 ans) et donc que c'est dur pour moi l'apprentissage de ce langage (j'avais bien capté HTML et CSS pourtant !). J'ai essayé de trouver des infos sur internet et dans ce forum mais ça ne colle pas avec mon problème aussi j'ai décidé de l'exposer. Merci à tous ceux qui voudront bien me donner un coup de main.
Je fais une sorte de livre d'or. Mais je voudrais interdire l'usage de certains mots dans les post sur le site (pour éviter les insultes, les provocations, etc...).
J'ai consulté mon petit manuel de PHP que j'ai acheté mais je ne m'en sort pas. J'ai une page de formulaire où les gens saisissent leur nom et leur message. J'envoie tout ça dans une table tb_livredor dans MySQL. Jusque là tout fonctionnait bien. Mais depuis3 jours un petit malin insère des insultes sur le site. Je dois donc contrôler ce qui est saisi dans le textarea. Voici ce que je pensais faire :
- mettre mes mots interdits dans un tableau (array)
- comparer chaque mot du message posté à ceux de mon tableau (foreach ... preg_match)
- afficher un message "Désolé, ce message ne peut être inséré" si message contient un mot interdit (if)
- sinon insérer le message (else)
Jusque là, ça va... Mais voici mon code et là ça va plus du tout :
// Le texte du message
$message = stripslashes(htmlentities($_POST["message"]));
// RESOLUTION PROBLEME INJURE
$tableauMotsInterdits = array('cretin', 'debile', 'connard');
foreach($tableauMotsInterdits as $cle)
{
if(preg_match($cle,$message)= true){
echo "Désolé, vous ne pouvez poster ce message"; }
else { [Requete d'insertion]}
}
Et là j'ai un beau message d'erreur !!
Encore merci de votre aide à tous