problème de regex

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème de regex

par Ripat » 27 oct. 2005, 23:28

// si $value contient un caractère autre que [_a-zA-Z0-9-]
$pattern2 = "#[^_a-zA-Z0-9-]#"; 

//  ... code

if (preg_match($pattern2,$value))

// ... code

 

problème de regex

par VaN » 27 oct. 2005, 18:00

<?php
include "functions.php";
$check_prenom = verif_post($_POST['prenom'], "prénom");
?>
<?php
// FONCTIONS CALENDAR
function verif_post($value, $champ)
{
	$pattern1 = "#^[_a-z0-9-]+(\.[_a-z0-9-]+)*@([0-9a-z](-?[0-9a-z])*\.)+[a-z]{2}([zmuvtg]|fo|me)?$#";
	$pattern2 = "#^[_a-zA-Z0-9-]$#";
	
	if(isset($value) && $value!="")
	{	
		if (!preg_match($pattern2,$value))
		{
			echo "<center><font class=\"warning\">Le $champ comporte des caractères interdits.<br />Veuillez le saisir à nouveau.</font></center><br /><br />";
		}
		else
		{
			$champ = $value;
		}
		$$champ = $value;
		echo $champ." = ".$value;
	}
	else 
	{
		echo "<center><font class=\"warning\">!! Le champ <b>$champ</b> est vide !!</font></center><br />";
	}
	
}
?>
une valeur du type 'sgsfgfd' ou 'okpkpk' me renvoie le message "Le prénom comporte des caractères interdits.
Veuillez le saisir à nouveau."
Alors je comprends pas. Idem lorsque je fait if (preg_match($pattern2,$value)) à la place de if (!preg_match($pattern2,$value))