Contrôle d'une chaine de caractère en PHP ?

Bonjour,

je cherche comment faire pour contrôler une chaine de caractère dans un message. Si présente je refuse l'enregistrement si pas présente j'accepte l'enregistrement.

le code sur lequel je bute :
Code:
        isset($_POST['pseudo']) ?     $pseudo=$_POST['pseudo'] :     $pseudo="";
        isset($_POST['titre']) ?     $titre=$_POST['titre'] :     $titre="";
        isset($_POST['message']) ?     $message=$_POST['message'] :     $message="";

if ( $message ereg ("<a href="))
	{
	echo 'les adresses ne sont pas autorisées';
	}

        else ($pseudo && $titre && $message)
        {
          // connexion à la base
          mysql_connect("mysql4.6", "i", "f")  or die("Erreur de connexion ".mysql_error());

          // sélection de la base  
          mysql_select_db("l")  or die("Erreur de selection ".mysql_error());

          // On utilise la fonction PHP htmlentities pour éviter d'enregistrer du code HTML dans la table     
          $pseudo = htmlentities ($_POST["pseudo"]);
          $email = htmlentities ($_POST["email"]);
          $titre = htmlentities ($_POST["titre"]);
          $message = htmlentities ($_POST["message"]);

          // on écrit la requête sql
          $sql = "INSERT INTO fichier(pseudo, email, titre, message, date) VALUES('$pseudo','$email','$titre','$message',now())";

          // on insère les informations du formulaire dans la table
          mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

          mysql_close();  // on ferme la connexion
        }
 
Bonsoir,

Et comme ça?:
Code:
if (  ereg ("<a href=",$_POST["message"])) 
   {
   echo 'les adresses ne sont pas autorisées';
   }

        else
        {
          // connexion à la base
          mysql_connect("mysql4.6", "i", "f")  or die("Erreur de connexion ".mysql_error());

          // sélection de la base 
          mysql_select_db("l")  or die("Erreur de selection ".mysql_error());

          // On utilise la fonction PHP htmlentities pour éviter d'enregistrer du code HTML dans la table     
          $pseudo = htmlentities ($_POST["pseudo"]);
          $email = htmlentities ($_POST["email"]);
          $titre = htmlentities ($_POST["titre"]);
          $message = htmlentities ($_POST["message"]);

          // on écrit la requête sql
          $sql = "INSERT INTO fichier(pseudo, email, titre, message, date) VALUES('$pseudo','$email','$titre','$message',now())";

          // on insère les informations du formulaire dans la table
          mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

          mysql_close();  // on ferme la connexion
        }
 
non ça ne fonctionne pas, si je mets ton code il enregistre le message mais avec rien dans la partie message, si je complete else
Code:
($pseudo && $titre && $message)

il me renvoie une erreur.
 
Moi déjà je comprend pas ce que tu fais dans ce test

if ( $message ereg ("<a href="))


Si tu veux controler ce qu'il y a dans $message avec ereg il me semble que tu devrais avoir un truc du style

if ( ereg("expr",$message) ) {

expr étant ton expression régulière qui permet de controler le contenu de $message

}
 
Je cherche dans le message si il y a <a href> et si oui je veux pas que le message soit enregistré dans la BD si il ne trouve rien oui.

J'ai fais cela
Code:
if (  ereg ("<a href=",$message))
   {
   echo 'les adresses ne sont pas autorisées';
   } 
        else

mais il m'enregistre des messages vides dans la BD sans même poster, juste en ouvrant la page.
 
bonjour,

je pense avoir compris ce que tu veut dire.

essaie ca :

Code:
else if ( !empty($pseudo) && !empty($titre) && !empty($message) )

au lieu de
Code:
else ($pseudo && $titre && $message)



!empty() veut dire si c'est pas vide
 
merci cmpc2002, ainsi qu'aux autres, ça fonctionne, il rejette bien le message si il trouve a href et enregistre bien si a href n'est pas présent.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut