Contrôler le contenu d'un formulaire avant poster

Signaler
Messages postés
153
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
6 janvier 2017
-
Messages postés
239
Date d'inscription
samedi 21 février 2004
Statut
Membre
Dernière intervention
3 juin 2010
-
Bonjour à tous,

Le titre dit tout. En effet, je veux créer un forum. Mais avant que le message soit posté et enregistré dans la BDD, je souhaite que les mots contenus dans le titre et dans le champ texte soient automatiquement contrôlés. Par exemple, si le système trouve le mot "Porn" ou "Drogue", le message n'est pas posté.

Si vous avez des idées soit en PHP soit en JAVA, je suis preneur.

Merci de votre précieuse aide.

David

5 réponses

Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
16 juillet 2009
2
Saell og blesuð

Vous reperez vos fields via $_POST puis vous le parser via votre dictionnaire de mots interdits et vous validez ou non avant d etre inseres dans votre base de donnees

Vilhjálms
Sigurðsdóttir aka Frëyjá
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

les gens ont tendance a expliquer les choses mais ne disent jamais comment faire en donnant par exemple des liens de sources toute déjà faite afin que l'on puisse comprendre directement à quoi on en vient ! expliquer c'est bien vu que c'est tellement évident pour certaines personnes que ca ne l'ai pour d'autres. moi meme qui aurait un problème a ce sujet aurait était toujours à la case départ vu que j'ai pas vraiment de reel explication a ce que je viens de lire dans votre réponse !

Pour vous répondre vu que je vois de plus en plus de gens qui répondent aux problèmes des autres sans pour autant qu'ils expliquent comment on peut faire.

On ne demande pas de savoir comment on peut faire par des simples mots qui n'ont pas forcement de sens pour les personnes qui ne comprennent pas trop le php ou qui sont en cours d'apprentissage, vu que les termes moi aussi je sais les employer... ? mais agir directement pour ne pas faire perdre de temps au gens et à partir d'une source d'exemple qu'ils puissent réflechir ensuite par eux meme !

Mon cher sebalex voici une source php que vous pouvez personnaliser à votre facon afin d'y obtenir votre résultat . bien sur c'est un exemple, c'est a titre dinformation et au moins vous avez quelque chose qui peut vous faire une idée sur le problème dont vous vous posez et de le résoudre directement à partir de cette source. Ca vous permez de l'incorporer dans votre script, de faire des tests et d'apprendre par vous meme ! c'est encore plus simple que dire :

<< ha ben tu n'as cas reperer tes fiels dans les methodes post apres tu parse en fesant un dico de mots interdits et apres tu valide ou non >>

Ha chaque fois que je vais dans un forum j'ai tjs ce genre de réponses c'est fou ! comme ci  que ca peut nous aider  !  ralla la je te jure.

Je vous ai mis un bout de code sur ce wall voir cette adresse :
j'espere que ca pourra vous aider seb

http://www.multithematic.info/wall/FkAAv2ra3Fve.htm

bonne soirée...
Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
16 juillet 2009
2
Saell og blesuð

euh ...milkasoprano ... vous l avez teste votre code au moins ? :)

Il demande des idees et non pas du code ( sans parler qu on est pas la pour pondre du code pour les autres )
Il ne demande pas d aide par rapport a une partie de code ne fonctionnement pas non plus ou suite a des erreurs.


[auteurdetail.aspx?ID=553087
]





Vilhjálms
Sigurðsdóttir aka Frëyjá
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Salut

on ne declare par un tableau en mettant :

$tab[$indice]=$val;

mais $tab=array($indice=>$val);

ou

$tab=array($element);

on peut en mettre plusieurs bien evidement de cette facon....

ensuite, on peut ajouter des elements soit avec :


$tab[$indice]=$val;


$tab[]=$val;

ou des fonctions comme push

cf print_r

au passage, edite ton php.ini, et met error_reporting a E_ALL, tu verras mieux tes erreurs

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Messages postés
239
Date d'inscription
samedi 21 février 2004
Statut
Membre
Dernière intervention
3 juin 2010
1
Hello,

pour ma part, j'envisagerai une solution regex. Je sais que les regex sont à proscrire sur des petits traitements (fonctions API str... plus rapides) mais c'est plus fort que moi, exemple :




<?php

  function ContainBadWords($array, $string)
  {
    $search = implode('|',$array);
    $pattern = '#(?:'.$search.')#i';
    return (preg_match($pattern,$string) == 1)?true:false;
  }

  $isWrong = ContainBadWords( array('mot1','mot2') , 'Hey toi, petit mot1 ! tete de mot2' );
  echo ($isWrong)?'Petit vilain !':'Enregistrement BDD';

?>