bonjours

descrip materiel PC sous xp pro et wamp server2
j'ai recupere un formulaire sur"toulouse renaissance" qui est en 2 partie une partie question et une partie qui controle que les champs soient remplie cette 2 eme partie est en PHP
copie ci joint les deux parties

le probleme est que lorsque je lance la page PHP elle s'arrette en plein milieu au moment des IF et else
car il semble que wamp bloque à une fonction

Mise en oeuvre : Sélectionnez et copiez directement à l'écran le code ci-dessous et collez-le dans votre page, code HTML visible. Mettrez entre les deux balises <body> et </body> le script ci-dessous.

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
70
71
72
73
74
<!--DEBUT CODE FORMULAIRE-->
<!-- Ce script a été développé par Nadine Gaine.
Modifications et ajouts par Daniel Maleville
Vous pouvez l'utiliser gratuitement à des fins NON-COMMERCIALES seulement, et le modifier à votre convenance.
Trouvé sur <a href="http://www.toulouse-renaissance.net/c_outils/" target="_blank">http://www.toulouse-renaissance.net/c_outils/</a> -->
 
 
<form method="POST" action="nadform.php" name="AVIS">
<table width="600">
<tr>
<td width="35"></td>
<td width="565">Message d'introduction.<p>&nbsp;</td>
</tr>
<tr>
<td width="35"></td>
<td width="565">
Question 1 :<br>
<input type="text" name="champ1" size="20">
 
<p>Question 2 :<br>
<input type="text" name="champ2" size="20"></p>
 
<p>Question 3 :<br>
<input type="text" name="champ3" size="20"></p>
 
<p>Question 4 : votre e-mail<br>
<input type="text" name="champ4" size="20"></p>
 
<p>Question 5 :<br>
<select name="champ5" size="1">
<option selected value="0">- Choisir - </option>
<option value="Reponse5_1">1</option>
<option value="Reponse5_2">2</option>
<option value="Reponse5_3">3</option>
<option value="Reponse5_4">4</option>
<option value="Reponse5_5">5</option>
</select></p>
 
<p>Question 6 : commentaire<br>
<textarea rows="4" name="champ6" cols="40"></textarea></p>
 
<p>Question 7 :<br>
<input type="radio" value="Reponse7_1" name="champ7">
valeur 1 
<input type="radio" name="champ7" value="Reponse7_2">
valeur 2</p>
 
<p>Question 8 :<br>
<table border="0" width="100%" cellspacing="1" cellpadding="4">
<tr>
<td width="7%"><input type="hidden" name="champ8[]" value="aucune">
<input type="checkbox" name="champ8[]" value="item_1"></td>
<td width="93%">Item 1</td>
</tr>
<tr>
<td width="7%"><input type="checkbox" name="champ8[]" value="item_2"></td>
<td width="93%">Item 2</td>
</tr>
<tr>
<td width="7%"><input type="checkbox" name="champ8[]" value="item_3"></td>
<td width="93%">Item 3</td>
</tr>
</table>
</td>
</tr>
</table></p>
<p>&nbsp;</p>
<p>
<input type="submit" value="Envoyer" name="envoyer">&nbsp;&nbsp;&nbsp;
<input type="reset" value="Recommencer" name="recommencer"> <br>
<br>
</p>
</form>
<!--FIN CODE FORMULAIRE-->
Vous pouvez sauvegarder ce fichier, par exemple, sous le nom formulaire.htm

Vous devrez créer ensuite un fichier nadform.php avec un simple éditeur de texte, NotePad, par exemple, à sauvegarder de préférence à la racine de votre site.

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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<!-- DEBUT DU SCRIPT nadform.php-->
<html>
<head>
 
</head>
<body>
<?
/* Ce script a été développé par Nadine Gaine.
Modifications et ajouts par Daniel Maleville
Vous pouvez l'utiliser gratuitement à des fins NON-COMMERCIALES seulement, et le modifier à votre convenance.
Trouvé sur <a href="http://www.toulouse-renaissance.net/c_outils/" target="_blank">http://www.toulouse-renaissance.net/c_outils/</a>
*/
//
// DEBUT Fonction de contrôle du mail PHP-UNIX
function check_mail($champ4) { 
if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $champ4)) || 
(preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$champ4)) ) { 
$host = explode('@', $champ4);
if(checkdnsrr($host[1].'.', 'MX') ) return true;
if(checkdnsrr($host[1].'.', 'A') ) return true;
if(checkdnsrr($host[1].'.', 'CNAME') ) return true;
}
return false;
}
// FIN Fonction de contrôle du mail
$MailTo = "vous@nom_domaine.com"; //adresse à laquelle sera envoyé le contenu du formulaire
$MailCc = "autre-mail@domaine.com"; // adresse à laquelle sera envoyé un communiqué
$MailSubject = "Sujet du message"; //texte qui va figurer dans le champ "sujet" du email
$MailHeader = "From: <a href="mailto:expediteur@nom_domaine.com">expediteur@nom_domaine.com</a>"; //adresse email qui va figurer dans le champ "expéditeur" du email et qui peut être remplacé par la variable "$champx" ("$champ3").
// Quelques hébergeurs obligent que le domaine du mail de l'expéditeur soit celui de votre site 
 
$min_size="3"; // Longueur minimum du message
$max_size="5000"; //Longueur maximum du message
 
/* Les routines suivantes permettent à chacune des variables de prendre la valeur des champs du formulaire et de les stocker ensuite dans la variable globale MailBody qui constituera le corps du message */
 
$Envoi = 1; //initialisation de la variable envoi à 1
 
/* Pour enlever une condition de vérification de champ (vide ou non), enlever, par exemple au champ 1 :
* 
if ($champ1 == ""){ //nom du champ1
echo("Vous n'avez pas complété le champ 1.<br>"); //message qui s'affiche si le visiteur n'a pas rempli ce champ
$Envoi = 0; //si le champ1 n'a pas été rempli, la variable envoi prend la valeur de 0
}
else {
}

et ne laisser que :

$MailBody .= "Question 1 : $champ1\n";

*/ 
//
if ($champ1 == ""){ //nom du champ1
echo("Vous n'avez pas complété le champ 1.<br>"); //message qui s'affiche si le visiteur n'a pas rempli ce champ
$Envoi = 0; //si le champ1 n'a pas été rempli, la variable envoi prend la valeur de 0
}
else {
$MailBody .= "Question 1 : $champ1\n"; //si le champ1 contient de l'information, elle est stockée dans la variable MailBody
}
if ($champ2 == ""){
echo("Vous n'avez pas complété le champ 2.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Question 2 : $champ2\n";
}
if ($champ3 == ""){
echo("Vous n'avez pas complété le champ 3<br>");
$Envoi = 0;
}
else {
$MailBody .= "Question 3 : $champ3\n";
}
if ($champ4 == ""){
echo("Vous n'avez pas complété le champ 4<br>");
$Envoi = 0;
}
else {
if (check_mail($champ4)) {
$MailBody .= "Mail : $champ4\n";
}
else {
echo("L'adresse e-mail du champ 4 n'est pas valide<br>");
$Envoi = 0;
}
}
if ($champ5 == "0"){
echo("Vous avez oublié de choisir une valeur dans le menu déroulant.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Question 5 : $champ5\n";
}
 
if ($champ6 == ""){
echo("Vous avez oublié le texte.<br>");
$Envoi = 0;
}
elseif (strlen($champ6) <= $min_size) {
echo("Votre message est trop petit.<br>");
$Envoi = 0;
}
elseif (strlen($champ6) >= $max_size) {
echo("Votre message est trop long.");
$Envoi = 0;
}
else {
$affich_champ6 = htmlentities($champ6); // affiche le code HTML à l'état brut. 
$affich_champ6 = StripSlashes($affich_champ6); // enlève, au texte affiché, les \ aux apostrophes, exemple : l\'habitude
$envoi_champ6 = StripSlashes($champ6); // enlève les \ aux apostrophes, exemple : l\'habitude
$MailBody .= "Votre texte : $envoi_champ6\n";
}
 
if ($champ7 == ""){
echo("Vous n'avez pas précisé votre choix à la question 7.<br>");
$Envoi = 0;
}
else {
$MailBody .= "Question 7 : $champ7\n";
}
 
//Routine pour les cases à cocher
 
$MailBody .="Question 8 : ";
 
$items = 3; //initialisation du nombre d'items possibles
 
for ($i = 1; $i <= $items; $i++) { //boucle sur le nombre d'items
 
$MailBody .= "$champ8[$i], "; //stockage des items choisis dans la variable MailBody
}
 
if ($Envoi == 0) { //vérification que la variable envoi est bien à 1
echo("<p><a href=\"Javascript:history.go(-1)\"><center><strong>RETOUR</strong></center></a></p>");
//Pas d'envoi du message et retour au formulaire
}
 
//Envoi du message
if ($Envoi == 1) { //vérification que la variable envoi est bien à 1
echo("<p><strong>Votre nom ou pseudo : <font color=\"#0000FF\">$champ1</font>\n");
echo("<br>Votre prénom : <font color=\"#0000FF\">$champ2</font>\n");
echo("<br>Votre e-mail : <font color=\"#0000FF\">$champ3</font>\n");
echo("<br>Votre URL : <font color=\"#0000FF\">$champ4</font>\n");
echo("<br>Votre catégorie: <font color=\"#0000FF\">$champ5</font>\n");
echo("<br>Votre texte : <font color=\"#0000FF\">$affich_champ6</font>\n");
echo("<p>&nbsp;</p>");
mail($MailTo, $MailSubject, $MailBody, $MailHeader); //envoi du message
//mail($MailCc, $MailSubject, $MailBody, $MailHeader); //envoi du communiqué (enlever // pour le rendre opérationnel
echo("<p>Votre message a bien été envoyé.<br>Merci de vos commentaires."); 
echo("<p>&nbsp;</p><p>&nbsp;</p><p align=\"center\"><a href=\"index.htm\">Retour</strong></a></p>"); //affichage d'un message de confirmation.
}
?>
</body>
</html>
<!-- FIN DU SCRIPT nadform.php-->