Problème vérification format champ
Xtream
-
Shad69 -
Shad69 -
Bonjour,
Je viens vous demander votre aide, ayant quelques problèmes dans mon formulaire.
1. D'abord, j'ai fais une liste de sélection de plusieurs pays. Or, cette liste est très longue !
Je ne me vois pas faire :
if(eregi("pays",$champ))
{
if(!ereg("(France|Espagne|Italie|Grèce|Allemagne|Lituanie|Turquie|Finlande|...|...)",$valeur))
{
$errors[]="$valeur n'est pas un pays valide.";
}
}
... pour 50 pays ! Auriez-vous une solution svp ?
2. Ensuite, l'internaute doit rentrer sa date de naissance. J'ai testé le code suivant, en indiquant une date invalide, mais après génération du script, il ne m'indique aucune erreur ! Je ne comprends pas....
if(eregi("dateNaissance",$champ))
{
if(!ereg("^([0-9]{2})/([0-9]{2})/([0-9]{4})$",$valeur, $date) and checkdate( $date[2], $date[1], $date[3] ) and $date[3] >= 1900)
{
$errors[] = "$valeur n'est pas une date valide.";
}
}
Exemple : dateNaissance = 53-487198.
resultat = RIEN !
3. Enfin, j'ai fait exactement le même test que précédemment, mais cette fois si avec le champ "prenom" et le champ "nom", en indiquant un prénom et un nom invalides. Après génération, PHP m'indique bien une erreur au niveau du prénom, mais pas au niveau du nom ! Voici mon code :
if(eregi("prenom",$champ) and eregi("nom",$champ))
{
if (!ereg("^[A-Za-z' -]{1,50}$",$valeur))
{
$errors[] = "$valeur n'est pas valide.";
}
}
Exemple : - prenom = Mathilde95'(*
resultat = Mathilde95'(* n'est pas valide.
- nom = Durant78- _£
resultat = RIEN !
Je vous remercie d'avance pour les réponses que vous m'apporterez.
Je viens vous demander votre aide, ayant quelques problèmes dans mon formulaire.
1. D'abord, j'ai fais une liste de sélection de plusieurs pays. Or, cette liste est très longue !
Je ne me vois pas faire :
if(eregi("pays",$champ))
{
if(!ereg("(France|Espagne|Italie|Grèce|Allemagne|Lituanie|Turquie|Finlande|...|...)",$valeur))
{
$errors[]="$valeur n'est pas un pays valide.";
}
}
... pour 50 pays ! Auriez-vous une solution svp ?
2. Ensuite, l'internaute doit rentrer sa date de naissance. J'ai testé le code suivant, en indiquant une date invalide, mais après génération du script, il ne m'indique aucune erreur ! Je ne comprends pas....
if(eregi("dateNaissance",$champ))
{
if(!ereg("^([0-9]{2})/([0-9]{2})/([0-9]{4})$",$valeur, $date) and checkdate( $date[2], $date[1], $date[3] ) and $date[3] >= 1900)
{
$errors[] = "$valeur n'est pas une date valide.";
}
}
Exemple : dateNaissance = 53-487198.
resultat = RIEN !
3. Enfin, j'ai fait exactement le même test que précédemment, mais cette fois si avec le champ "prenom" et le champ "nom", en indiquant un prénom et un nom invalides. Après génération, PHP m'indique bien une erreur au niveau du prénom, mais pas au niveau du nom ! Voici mon code :
if(eregi("prenom",$champ) and eregi("nom",$champ))
{
if (!ereg("^[A-Za-z' -]{1,50}$",$valeur))
{
$errors[] = "$valeur n'est pas valide.";
}
}
Exemple : - prenom = Mathilde95'(*
resultat = Mathilde95'(* n'est pas valide.
- nom = Durant78- _£
resultat = RIEN !
Je vous remercie d'avance pour les réponses que vous m'apporterez.
A voir également:
- Problème vérification format champ
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
- Format bin - Guide
6 réponses
1/Soit vous avez votre liste en base dans quel cas vous faites une requête, soit vous stocké votre liste dans un tableau et vous faites un http://www.manuelphp.com/php/function.array-search.php
2/Voici la bonne expression je pense, j'ai testé avec
http://www.annuaire-info.com/outil-referencement/expression-reguliere/
^([0-9]{2})(\/)([0-9]{2})(\/)([0-9]{4})$
2/Voici la bonne expression je pense, j'ai testé avec
http://www.annuaire-info.com/outil-referencement/expression-reguliere/
^([0-9]{2})(\/)([0-9]{2})(\/)([0-9]{4})$
Je souhaite utiliser la fonction array search, mais je ne vois pas comment faire, une fois mon array établie...
$nomPays = array(1=> "France (Metropole)",
"France (Dom-Tom)",
"Algerie",
"Andorre",
"Belgique",
"Benin",
"Burkina Faso",
"Burundi",
"Cambodge",
"Cameroun",
"Canada"
"Centrafrique",
"Comores",
"Congo (Brazzaville)",
"Congo (Kinshasa)",
"Cote d'Ivoire",
"Djibouti",
"Gabon",
"Guinee (Conakry)",
"Guinee (Equatoriale)",
"Haiti",
"Laos",
"Liban");
Je pense faire ceci :
if(!array_search('$nomPays', $pays))
{
return 'paysfalse';
}
else
{
return 'ok';
}
Pourriez-vous m'éclaircir svp ?
$nomPays = array(1=> "France (Metropole)",
"France (Dom-Tom)",
"Algerie",
"Andorre",
"Belgique",
"Benin",
"Burkina Faso",
"Burundi",
"Cambodge",
"Cameroun",
"Canada"
"Centrafrique",
"Comores",
"Congo (Brazzaville)",
"Congo (Kinshasa)",
"Cote d'Ivoire",
"Djibouti",
"Gabon",
"Guinee (Conakry)",
"Guinee (Equatoriale)",
"Haiti",
"Laos",
"Liban");
Je pense faire ceci :
if(!array_search('$nomPays', $pays))
{
return 'paysfalse';
}
else
{
return 'ok';
}
Pourriez-vous m'éclaircir svp ?
donc plutôt ça ?
if(!array_search(' ', $nompays))
{
return 'paysfalse';
}
else
{
return 'ok';
}
Par contre, je ne vois pas exactement quoi mettre pour l'élément recherché. En effet, c'est l'internaute qui choisira son pays, je ne le connais pas.
if(!array_search(' ', $nompays))
{
return 'paysfalse';
}
else
{
return 'ok';
}
Par contre, je ne vois pas exactement quoi mettre pour l'élément recherché. En effet, c'est l'internaute qui choisira son pays, je ne le connais pas.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question