PHP verification de variable

Fermé
smag42 Messages postés 200 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 22 mai 2014 - 22 août 2009 à 17:53
M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 - 24 août 2009 à 10:34
Bonjour,
Dans mon site web je souhaite créer un espace de membre.
J'ai un formulaire qui renvoie des information sur le visiteur qui veut s'inscrire.
Pour vérifie les données qu'il remplie je souhaite passe par du php qui traite les infos reçu.



// Vérification de la validité des champs
if(!ereg("^[A-Za-z0-9_]{4,20}$", $_POST["pseudo"]))
{
$message = "Votre nom d'utilisateur doit comporter entre 5 et 40 caractères.<br />";
}
elseif(!ereg("^[A-Za-z0-9]{5,40}$", $passwd))
{
$message = "Votre mot de passe doit comporter entre 5 et 40 caractères<br />";
}
elseif($passwd != $_POST["confir_passwd"])
{
$message = "Votre mot de passe n'a pas ètè correctement confirmè<br />";
}
elseif(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$",$email))
{
$message = "Votre adresse e-mail n'est pas valide<br />";
}
elseif(!ereg("([1-31]{2})[/]([1-12]{2})[/]([1908-2008]{4})",$date_naissance))
{
$message = "Votre Date d'anniverssaire n'est pas au format valide <br />
Veuillez respecter le format jj/mm/aaaa. Merci.<br />";
}
else
{
// Connexion a la base de données


etc...

Pouvez vous me dire si j'utilise la meilleur méthode ????
Aussi il y a des erreur dans mon code surtout sur les
ereg je ne sais pas comment les corriger.


Merci, de me répondre.



A voir également:

1 réponse

M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 74
24 août 2009 à 10:34
Bonjour,

Il y a quelques erreurs oui:
// Vérification de la validité des champs
if(!ereg("#^[A-Za-z0-9_]{4,20}$#", $_POST["pseudo"]))
{
$message = "Votre nom d'utilisateur doit comporter entre 5 et 40 caractères.<br />";
}
elseif(!ereg("#^[A-Za-z0-9]{5,40}$#", $passwd))
{
$message = "Votre mot de passe doit comporter entre 5 et 40 caractères<br />";
}
elseif($passwd != $_POST["confir_passwd"])
{
$message = "Votre mot de passe n'a pas ètè correctement confirmè<br />";
}
elseif(!ereg("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}[.][a-zA-Z]{2,4}$#",$email))
{
$message = "Votre adresse e-mail n'est pas valide<br />";
}
// ( [1-31] n'est pas valide, on ne peut spécifier que des types de données, et [0-9] correspond aux chiffres)
elseif(!ereg("#^([0-9]{2})/([0-9]{2})/([0-9]{4})$#",$date_naissance))
{
$message = "Votre Date d'anniverssaire n'est pas au format valide <br />
Veuillez respecter le format jj/mm/aaaa. Merci.<br />";
}
else
{
// Connexion a la base de données 


Attention au # qui doivent être placés pour que ça fonctionne.
Pour la date on ne peut pas gérer une bonne date directement. au mieux il est possible de limiter le premier chiffre des jours de 0 à 3 par exemple, mais ça n'empêchera pas l'utilisateur de rentrer 37. ni de créer un 30 février.
Un 2ème test peut-être utile pour vraiment être sûr.
0