PHP verification de variable

Résolu
smag42 Messages postés 200 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 19256 Date d'inscription   Statut Contributeur Dernière intervention   -
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 1882 Date d'inscription   Statut Membre Dernière intervention   142
 
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   Statut Membre Dernière intervention   10
 
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 19256 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
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   Statut Membre Dernière intervention   10
 
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 19256 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
À 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   Statut Membre Dernière intervention   10
 
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   Statut Membre Dernière intervention   10
 
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   Statut Membre Dernière intervention   352
 
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 19256 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
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   Statut Membre Dernière intervention   352 > avion-f16 Messages postés 19256 Date d'inscription   Statut Contributeur Dernière intervention  
 
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 19256 Date d'inscription   Statut Contributeur Dernière intervention   4 509 > lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   10
 
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 1882 Date d'inscription   Statut Membre Dernière intervention   142
 
Bonjour,

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