paguira
Messages postés12Date d'inscriptionlundi 8 janvier 2007StatutMembreDernière intervention 1 octobre 2008
-
20 janv. 2008 à 14:05
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 2009
-
21 janv. 2008 à 11:49
Je poste une fonction qui permet de traiter des données provenent de formulaire dont voici le code :
$Value = donnée POST ou GET
$Type = type de donné alpa, numerique url etc...
$Minimum = caractére minimum
$Maximum = caractére maximum
$Necessary = true ou false nécéssaire ou non
$Error_txt = texte du message d'erreur
$Error_Necessary_txt = texte du message d'erreur si obligatoire
//preg_match("/^[\ a-z0-9._-]+@[a-z0-9.-]+\.[a-z]{2,6}$/i", $email)) {
//'mail' => '^[[:alnum:]]+([_|\.|-]*)([[:alnum:]]+)@([[:alnum:]]+)([_|\.|-]*)([[:alnum:]]+)\.([[:alpha:]]{3}$)',
'url' => '^(http|https)+(:\/\/)+[a-z0-9_-]+\.+[a-z0-9_-]',
'ftp' => '^(ftp|ftps)+(:\/\/)+[a-z0-9_-]+\.+[a-z0-9_-]',
'datefr' => '^[0-9]{1,2}-[0-9]{1,2}-[0-9]{4}$',
'datefr2' => '^[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}$',
'dateus' => '^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$',
'dateus2' => '^[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}$',
'year' => '^[0-9]{4}$',
'H_M' => '^[0-2][0-9]:[0-5][0-9]$',
'H_M_S' => '^[0-2][0-9]:[0-5][0-9]:[0-5][0-9]$',
'H_M2' => '^[0-9]{1,2}:[0-9]{1,2}$',
'H_M_S2' => '^[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}$',
);
Malheureusement celà ne marche pas bien de ce fait si vous avec des masques pour preg_match je suis preneur
Au passe le code avec preg_mach:
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 21 janv. 2008 à 11:49
Pourrais-tu séparer tous tes patterns afin de savoir ceux dont tu à besoin ? Honnetement tout ton paté de code, ca donne pas trop envie de tout lire ;)
D'apres ce que j'ai vu, j'aurai quelques remarques :
Tu met url puis ftp, ftp est considéré comme une url, fait attention
Pour les dates, tu met datefr et dateus, mais il n'y à pas que celle là.
Perso je te conseille d'utiliser des classes, avec une classe date_us, une classe date_fr, et tu fait une interface iDate qui spécifie les méthodes dont tu aura besoin (check, compare, etc).
Comme ca si demain tu doit faire une date date_marsien bah tu ne sera pas bloqué ! :)
Pour l'analyse de valeurs (_get, _post, etc), tu peux jeter un oeil à ma source, elle pourra peut-etre te renseigner sur certains patterns :