Contrôle d'une chaine de caractère en PHP ?
7 messages
• Page 1 sur 1
- DISCRET
- WRInaute discret

- Messages: 185
- Inscription: 18 Oct 2004
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 :
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: Tout sélectionner
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
}
Dernière édition par DISCRET le Sam Jan 06, 2007 21:07, édité 1 fois.
- jidébé
- WRInaute discret

- Messages: 180
- Inscription: 26 Juil 2005
Bonsoir,
Et comme ça?:
Et comme ça?:
- Code: Tout sélectionner
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
}
- DISCRET
- WRInaute discret

- Messages: 185
- Inscription: 18 Oct 2004
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
il me renvoie une erreur.
- Code: Tout sélectionner
($pseudo && $titre && $message)
il me renvoie une erreur.
- Jonna
- WRInaute discret

- Messages: 50
- Inscription: 2 Jan 2007
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
}
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
}
- DISCRET
- WRInaute discret

- Messages: 185
- Inscription: 18 Oct 2004
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
mais il m'enregistre des messages vides dans la BD sans même poster, juste en ouvrant la page.
J'ai fais cela
- Code: Tout sélectionner
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.
Dernière édition par DISCRET le Sam Jan 06, 2007 21:35, édité 1 fois.
-

cmpc2002 - Nouveau WRInaute

- Messages: 44
- Inscription: 19 Mai 2006
bonjour,
je pense avoir compris ce que tu veut dire.
essaie ca :
au lieu de
!empty() veut dire si c'est pas vide
je pense avoir compris ce que tu veut dire.
essaie ca :
- Code: Tout sélectionner
else if ( !empty($pseudo) && !empty($titre) && !empty($message) )
au lieu de
- Code: Tout sélectionner
else ($pseudo && $titre && $message)
!empty() veut dire si c'est pas vide
7 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Php fonction sur chaine de caractere
- recherche une fonction php pour chaine de caractere ! help:s
- Chaine php : isoler une phrase entre 2 caractère [ et ]
- [PHP] Limite chaîne de caractères à partir d'un caractère donné
- detection de chaine de caractère
- Nettoyer une chaine de caractère
- Nettoyer le BBcode d'une chaine de caractère
- eregi sur une chaine de caractère
- rewriting d'un nombre en chaine de caractère
- convertir un nombre numerique en chaine de caractere
Consultez la description détaillée des produits ou services de Google suivants : Google Video Store
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
