Filtrer des mots a l'envoit d'un formulaire

Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   -  
Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

je cherche depuis un moment et je ne trouve pas ce que je veux exactement. Je m'explique, j'ai un formulaire et une fois que les gens appuient sur envoyer les informations sont envoyées par mail(). Jusque là tout va très bien.

J'aimerais mettre en place un filtre de mots pour le text area exemple :

si la personne tape dans son texte le mot recherche et bien en cliquant sur envoyer un message apparrait pour dire a la personne qu'il ne s'agit pas d'un formulaire pour les recherches.

En passant quand on clique sur le bouton envoyer l'action se passe sur envoi.php.

Du même coup serait-il possible de filtrer plusieurs mots dans un même texte du genre :

recherche
cherche
etc.

Merci de votre aide
A voir également:

1 réponse

vignemail1 Messages postés 1262 Statut Contributeur 259
 
Qui dit fonction mail() dit PHP donc fait un explode de ton texte, et teste avec des eregi_* ou des preg_* si le mot apparait dans une liste de mot interdit.
0
Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 462
 
salut et merci de ta réponse,

j'avoue que je suis un peu perdu dans tout ça et le pire c'est je cherche comme un dingue et je test tout plein de chose pour réussir mais rien ne fonctionne. Je vous donne donc les codes de mes deux pages,. celle du formulaire et celle de l'envoit par mail().

contacttest.html :

<form action="mercitest.php" method="post" enctype="multipart/form-data" name="formulaire">
<tr>                
<td colspan="3"><h2 align="center">Questions, commentaires &amp; suggestions</h2>
  <p align="center" style="font-size: 16px; color: #FF0000">Attention ne pas mettre d'accents sur aucune lettre s'il vous pla&icirc;t.</p></td>
</tr>
<tr>
<td><div align="right">Votre nom</div></td>
<td colspan="2"><input type="text" name="nom" size="50" maxlength="100"></td>
</tr>
<tr>                
<td width="146"><div align="right">Votre courriel</div></td>
<td colspan="2"><input type="text" name="mail" size="50" maxlength="100"></td>
</tr>
<tr>                
<td><div align="right">Sujet</div></td>
<td colspan="2"><input type="text" name="objet" size="50" maxlength="120"></td>
</tr>
<tr>                
<td><div align="right">Message</div></td>
<td colspan="2"><textarea name="message" cols="50" rows="10"></textarea></td>
</tr>
<tr>                
<td></td>
<td width="208"><center><input type="reset" name="Submit" value="Réinitialiser le formulaire"></center></td>
<td width="246"><center><input type="submit" name="Submit" value="Envoyer"></center></td>
</tr>
</form>


et mercitest.php :

<?php

function unhtmlentities ($string)
{
// Remplace les entités numériques
$string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("1"))', $string);
$string = preg_replace('~&#([0-9]+);~e', 'chr("1")', $string);
// Remplace les entités litérales
$trans_tbl = get_html_translation_table (HTML_ENTITIES);
$trans_tbl = array_flip ($trans_tbl);
return strtr ($string, $trans_tbl);
}
 
$nom=$_POST['nom']; 
$mail=$_POST['mail']; 
$objet=$_POST['objet']; 
$message=$_POST['message']; 
 
/////voici la version Mine 
$headers = "MIME-Version: 1.0\r\n"; 
 
//////ici on détermine le mail en format texte 
$headers .= "Content-type: text/plain; charset=latin-1\r\n"; 
 
////ici on détermine l'expediteur et l'adresse de réponse 
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP"; 
 
$subject="$objet"; 
$destinataire="provener@cgocable.ca"; 
$body="$nom\n$mail\n$message";
if (mail($destinataire,$subject,$body,$headers)) { 
echo ""; 
} else { 
echo "Une erreur s'est produite"; 
} 

?>


ce que j'aimerais c'est: si la personne tape dans son texte le mot recherche ou cherche et bien en cliquant sur envoyer un message apparait pour dire a la personne qu'il ne s'agit pas d'un formulaire pour les recherches.


Merci d'avance pour l'aide et pour le code.
0