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.