PHP verification de variable

Résolu/Fermé
smag42 Messages postés 200 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 22 mai 2014 - 23 août 2009 à 17:24
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 - 24 août 2009 à 14:56
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:

9 réponses

giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
23 août 2009 à 17:50
Bonjour,

le meiux ne serait-il pas de tester ce que vous avez écrit ?
ainsi vous saurez directement si cela correspond à vos attentes.
0
smag42 Messages postés 200 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 22 mai 2014 10
23 août 2009 à 20:35
j'ai tester mais il y a des erreurs surtout au niveau de la Date d'anniversaire.


Et puis je trouve que je me complique la tache.
Alors si quelqu'un aurais une amélioration a proposer pour rendre le code plus "alléger", je suis preneur d'idée.


0
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505
23 août 2009 à 20:55
Il n'y a pas beaucoup d'autre solutions ...
Pour tes ereg, il faut des délimiteurs #^[a-zA-Z0-9]$#. Après le dernier #, tu peux mettre "i" pour éviter d'avoir à faire a-zA-Z (a-z ou A-Z suffira).
0
smag42 Messages postés 200 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 22 mai 2014 10
23 août 2009 à 21:46
J'ai essayer ca cela ne marche pas, pourquoi?

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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505
23 août 2009 à 21:51
À la deuxième ligne :
if(!ereg("(#^[A-Za-z0-9_]{5,40}$#)", $pseudo)) 

D'où provient cette parenthèse ?
0
smag42 Messages postés 200 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 22 mai 2014 10
23 août 2009 à 21:57
J'ai un peu modifier le code mais maintenant cela m'affiche:

Warning: ereg() [function.ereg]: REG_ERANGE in C:\wamp\www\membre\register.php on line 24



Voici les lignes correspond:
elseif(!ereg("[1-31]{2,}/[1-12]{2,}/[1908-2008]{4,}",$_POST['date_naissance']))
{
$message = "<div><img src=\"../image_de_fond/attention.png\" align=\"middle\"/>Votre Date d'anniverssaire n'est pas au format valide <br />
Veuillez respecter le format jj/mm/aaaa. Merci.</div><br />";
}
0
smag42 Messages postés 200 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 22 mai 2014 10
23 août 2009 à 21:58
Et ceci Fonctionne par contre:

if(!ereg("[A-Za-z0-9_]{5,40}", $pseudo))
{
$message = "<div><img src=\"../image_de_fond/attention.png\" align=\"middle\"/>Votre pseudo doit comporter entre 5 et 40 caractères.</div><br />";
}

0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
23 août 2009 à 22:19
a mon avis leplus simple c'est de passer par du javascript pour verifier deja si les données envoyées correspondent au format que tu souhaite
0
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505
24 août 2009 à 10:43
Le Javascript est désactivable (et modifiable) par le visiteur.
Le mieux est une vérification niveau serveur (PHP, Perl, CGI, ...)
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352 > avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024
24 août 2009 à 13:37
exact, mais si on tient compte que 99% et quelques des pc on le JS activé cela laisse quand meme un bonne marge .. ;-)

D'autre part en desactivant le js il va avoir beaucoup de site qui ne fonctionnerons plus correctement
0
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505 > lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015
24 août 2009 à 14:56
Qu'il fasse comme il veut mais c'est beaucoup plus risqué qu'avec du PHP.
Si quelqu'un veut "pirater" son site, il affichera sans doute le code source et avec l'extension Firebug, on peut facilement modifier le code source de la page (pour soi, sans sauvegarder sur le serveur et heureusement).
0
smag42 Messages postés 200 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 22 mai 2014 10
24 août 2009 à 02:25
Je n'y connais rien en java et je pense pas l'apprendre dans les semaines avenir.

Merci pour les réponses mais je crois que je me casse trop la tête.
Pour l'instant je vais supprimer l'anniversaire (sa marche comme sa).

Alors si un jour quelqu'un passe par la et me propose une solution qui fonctionne.!!!

0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
24 août 2009 à 08:24
Bonjour,

ne pas confondre java et javascript.
attention donc si vous vouliez apprendre qielquechose.
0