Bonjour à tous, un petit problème sur un formulaire et la validation de champs avec les expressions régulières, voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
 
/* REGEX */
 
    $valid_email = '/^[[:alnum:]_.-]+"."@"."[[:alnum:]_.-]+\."."([[:alnum:]]{2,3})$/';
	$valid_cp = '/^((0[1-9])|([1-8][0-9])|(9[0-8]|(2A)|(2B))[0-9]{3}$/';
    $valid_telephone = '/^0[1-68][0-9]{8}$/';
 
/* Traitement de vérification des champs vides ou invalides (téléphone et/ou email et/ou url) Conditions de mauvaises réponses (champ vide par exemple) */
 
if ($nom == '' ||
 
	$prenom == '' ||
 
	$sexe == '' ||
 
	$naissance == '' ||
 
	$adresse == '' ||
 
	$ville == '' ||
 
	$code_postal == '' || !(preg_match($valid_cp,$code_postal)) ||
 
	$telephone == '' || !(preg_match($valid_telephone,$telephone)) ||
 
	$email == '' || !(preg_match($valid_email, $email)) ||
 
	$course = 0 || ($course=range(4,6) && ($equipier1 =='' || $equipier2=='') )
	)
 
    {
 
        /* Action à adopter */
 
?>
 
<h4>Informations incomplètes</h4>
 
<p>Un (ou plusieurs) champ(s) obligatoire(s) n'a(ont) pas été correctement rempli(s).</p>
 
<?php
 
        if ($nom == '') { print "<p>Vous n'avez pas précisé votre nom</p>\n";}
 
        if ($prenom == '') { print "<p>Vous n'avez pas précisé votre nom</p>\n";}
 
		if ($sexe == '') { print "<p>Vous n'avez pas précisé votre sexe</p>\n";}
 
		if ($naissance == '') { print "<p>Vous n'avez pas précisé votre date de naissance</p>\n";}
 
		if ($adresse == '') { print "<p>Vous n'avez pas précisé votre adresse</p>\n";}
 
		if ($ville == '') { print "<p>Vous n'avez pas précisé votre ville</p>\n";}
 
		if ($code_postal == '') { print "<p>Vous n'avez pas précisé votre code postal</p>\n";}
 
		if (($code_postal) && !(preg_match($valid_cp,$code_postal))) { print "<p>Le code postal doit être composé de 5 caractères exactement</p>\n";}
 
        if ($telephone == '') { print "<p>Vous n'avez pas précisé votre numéro de téléphone</p>\n";}
 
        if (($telephone) && !(preg_match($valid_telephone,$telephone))) { print "<p>Le numéro de téléphone doit être composé de 10 chiffres exactement, sans espace ni tiret</p>\n";}
 
        if(!$email) { print "<p>Vous n'avez pas précisé votre adresse électronique </p>\n";}
 
        if(($email) && !(preg_match($valid_email, $email))) { print "<p>L'adresse électronique saisie est invalide.</p>\n";}
 
		if ($course = 0) { print "<p>Vous n'avez pas choisi de course</p>\n";}
 
		if ($course=range(4,6) && ($equipier1 =='' || $equipier2=='') ) { print "<p>Vous n'avez pas renseigné le nom des équipiers.</p>\n";}
et le message d'erreur lorsque je valide :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Warning: preg_match() [function.preg-match]: Compilation failed: missing ) at offset 51 in C:\xampp\htdocs\lachensmer\inscription.php on line 103
Informations incomplètes
 
Un (ou plusieurs) champ(s) obligatoire(s) n'a(ont) pas été correctement rempli(s).
 
Warning: preg_match() [function.preg-match]: Compilation failed: missing ) at offset 51 in C:\xampp\htdocs\lachensmer\inscription.php on line 138
 
Le code postal doit être composé de 5 caractères exactement
 
L'adresse électronique saisie est invalide.
Or, l'adresse email et le code postal que je saisis sont parfaitement valides

Je suis perdu là, j'espère que quelqu'un m'apportera son aide. Merci d'avance.