[PHP] Verification d'un champs
laetitia
-
mpmp93 Messages postés 6648 Date d'inscription Statut Membre Dernière intervention -
mpmp93 Messages postés 6648 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un formulaire que je traite en PHP et je fais des vérifications sur les données entrées par l'internaute avant l'insertion en base de donnée.
J'arrive a faire toutes mes verifications sauf 2 :(
- un des champs ne doit contenir que des chiffres (soit 9 chiffres soit 14 chiffres);
-un des champs doit comporter 4 caractéres composés de cette facon : 3 chiffres + 1 lettre;
je sais verifier la longueur des ces champs
1/
$nb_caractere_champs1=strlen($champs1);
2/
$nb_caractere_champs2=strlen($champs2);
Donc pour le 1/ une fois que j'ai verifié que la longueur est bien de 9 ou 14 comment je fais a verifier que c'est que des chiffres ?
Et pour le 2/ que les 3 premiers sont des lettres (de a à z) et le 4 eme un chiffre (0-9) ??
Je dois faire cette vérification obligatoirement en PHP, sans utiliser de fonction javascript.
Si quelqu'un sait comment faire, ou pourrait m'orienter vers une fonction genre str.... cela m'aiderait énormement !
Merci à vous tous.
Laetitia
J'ai un formulaire que je traite en PHP et je fais des vérifications sur les données entrées par l'internaute avant l'insertion en base de donnée.
J'arrive a faire toutes mes verifications sauf 2 :(
- un des champs ne doit contenir que des chiffres (soit 9 chiffres soit 14 chiffres);
-un des champs doit comporter 4 caractéres composés de cette facon : 3 chiffres + 1 lettre;
je sais verifier la longueur des ces champs
1/
$nb_caractere_champs1=strlen($champs1);
2/
$nb_caractere_champs2=strlen($champs2);
Donc pour le 1/ une fois que j'ai verifié que la longueur est bien de 9 ou 14 comment je fais a verifier que c'est que des chiffres ?
Et pour le 2/ que les 3 premiers sont des lettres (de a à z) et le 4 eme un chiffre (0-9) ??
Je dois faire cette vérification obligatoirement en PHP, sans utiliser de fonction javascript.
Si quelqu'un sait comment faire, ou pourrait m'orienter vers une fonction genre str.... cela m'aiderait énormement !
Merci à vous tous.
Laetitia
A voir également:
- [PHP] Verification d'un champs
- Easy php - Télécharger - Divers Web & Internet
- Verification lien internet - Guide
- Verification windows 11 - Guide
- Dl protect link verification en cours - Forum Téléchargement
- Expert php pinterest - Télécharger - Langages
3 réponses
Bonsoir ( ou bonjour ) ,
Pour ton probleme tu devrais utiliser les expressions régulieres .
par exemple pour ton cas :
if (preg_match("#[0-9]#", $champs1 )) //si le $champs1 contient que des chiffres
{
echo 'Il y a bien que des chiffres dans le champ 1'; //c'est vrai
}
else
{
echo 'Le champ 1 contient un ou des caractere(s) interdit' ; //sinon c'est faux
}
Pour plus d'info :
https://openclassrooms.com/fr/courses
https://openclassrooms.com/fr/courses
Pour ton probleme tu devrais utiliser les expressions régulieres .
par exemple pour ton cas :
if (preg_match("#[0-9]#", $champs1 )) //si le $champs1 contient que des chiffres
{
echo 'Il y a bien que des chiffres dans le champ 1'; //c'est vrai
}
else
{
echo 'Le champ 1 contient un ou des caractere(s) interdit' ; //sinon c'est faux
}
Pour plus d'info :
https://openclassrooms.com/fr/courses
https://openclassrooms.com/fr/courses
misterpoom
Bonjour, petite intervention pour dire que: if (preg_match("#[0-9]#", $champs1 )), n'interdit absolument les lettres si elles sont accompagnées de chiffres.
Luxerails
Messages postés
159
Date d'inscription
Statut
Membre
Dernière intervention
41
Oui, la regex #[0-9]# ne sufit pas. Il faudra utiliser la regex #^[0-9]$#.
Pour le 1/ :
Pour le 2/
if (preg_match('#^[0-9]$#', $nombre_a_verifier)) { echo 'c\'est bon'; }
Pour le 2/
if (preg_match('#^[a-z]{3}[0-9]$#', $nombre_a_verifier2)) { echo 'c\'est bon'; }
Bonjour,
Concernant: un des champs ne doit contenir que des chiffres (soit 9 chiffres soit 14 chiffres);
C'est un numéro SIRET/SIREN
1) faire test de cohérence avec algorithme dit "clé de Luhn"
Solution ici:
https://codes-sources.commentcamarche.net/
A+
Concernant: un des champs ne doit contenir que des chiffres (soit 9 chiffres soit 14 chiffres);
C'est un numéro SIRET/SIREN
1) faire test de cohérence avec algorithme dit "clé de Luhn"
Solution ici:
https://codes-sources.commentcamarche.net/
A+