Bonjour,
Post by Jonatif(isset($_POST["table"]) && isset($_POST["post"]) &&
!preg_match('#http://#', $_POST["message"])) {
Un isset($_POST["message"]) avant le preg_match() ne peut pas faire de
mal non plus...
Post by JonatJe n'y connais rien en programmation. On m'avait déjà aidé pour interdire le
mot "http://".
Ok. Note au passage que cela n'interdit pas "HTTP://" ni "https://", au
cas où tu en aurais besoin aussi (mais tu ne parles absolument pas du
besoin). Note aussi que pour une chaîne fixe telle que celle-ci il est
plus efficace d'utiliser strstr au lieu de preg_match :
if(isset($_POST["table"]) && isset($_POST["post"]) &&
(strstr($_POST["message"], 'http://') === FALSE)) {
Post by JonatJe souhaite savoir comment faire pour en interdire d'autres
(comme "comment+chiffre")
Je ne suis pas sûr de bien comprendre, alors je vais supposer que c'est
vraiment la chaîne "comment+chiffre" que tu veux interdire.
Dans ce cas :
!preg_match('#comment\+chiffre#', $_POST["message"])
Ou bien :
strstr($_POST["message"], 'comment+chiffre') === FALSE
Cela dit, si tu veux faire des vérifications un peu plus complexes, donc
nécessitant vraiment preg_match(), le groupe fr.comp.lang.regexp est
beaucoup plus adapté ; d'ailleurs j'y fais suivre la discussion.
Enfin, je te signale que ton adresse antispam est doublement fautive,
d'une part à cause des « _ » dans la partie droite, et d'autre part
parce qu'elle ne se termine pas par « invalid ». Je te suggère donc de
remplacer :
***@pas_de_spam.tld
par :
pas-de-***@pas-de-spam.invalid
Merci !