Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/12/2006, 17h10   #1
Nouveau Membre du Club
 
Inscription : février 2003
Messages : 155
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 155
Points : 26
Points : 26
Par défaut Page fonctionne que sur FireFox

Bonjour,

J'ai un gros souci avec une de mes pages.

Elle ne fonctionne pas sur IE.

Voici le plus gros de mon code

Code :
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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
<style type="text/css">
<!--
body {
	background-image: url(images/fond_home.gif);
	background-repeat: repeat;
}
-->
</style>
</head>
<?php
 
$default['txtNom'] = isset($_POST['txtNom'])?$_POST['txtNom']:'';
;
 
if (isset($_POST['cmdEnvoyer'])) {
	if (!isset($_REQUEST['chkRegl']))
	{
		print ("<div style='color:red'>Veuillez accepter le règlement pour continuer</div>");
	} else 
	{	
 
		require_once('TestFormulaire_fr.php');
 
 
			// Register the subclasses to use 
		$v['er'] = new ValidateRequired('Nom', $_POST['txtNom']); 
		$v['s']  = new ValidateRequired('Prénom', $_POST['txtPrenom']); 
		$v['e']  = new ValidateEmail($_POST['txtMail']); 
		$v['u']  = new ValidateNumClient($_POST['txtNumCli']);
		$v['t']  = new ValidateRequired('Adresse', $_POST['txtAdresse']); 
		$v['v']  = new ValidateRequired('Code Postal', $_POST['txtCP']); 
		$v['w']  = new ValidateRequired('Ville', $_POST['txtVille']); 
 
		$errorMsg = ''; 
		$errorNumCli = '';
		$errorAdresse = '';
		// Perform each validation 
		foreach($v as $validator) 
		{ 
			if (!$validator->isValid()) 
			{ 
				while ($error=$validator->getError()) 
				{ 
					if ($error =='N° Client non valide')
					{
						$errorNumCli.="<li>".$error."</li>\n";
					}
						else if (($error =='Adresse doit être renseigné !') || ($error =='Code Postal doit être renseigné !')|| ($error=='Ville doit être renseigné !'))
						{
							$errorAdresse.="<li>".$error."</li>\n"; 
						} else
						{
							$errorMsg.="<li>".$error."</li>\n"; 
						}
 
				} 
			} 
		} 
		if ($errorMsg != '')
		{ 
			print ("<div style='color:red'>Les erreurs suivantes se sont produites:\n<ul>".$errorMsg."</ul></div>"); 
 
		} 
			else if (($errorNumCli != '') && (($errorAdresse != '') || ($errorCP != '') || ($errorVille != '')))
		{
			print ("<div style='color:red'>Veuillez remplir votre adresse complète ou votre numéro client</div>");
		}
			else
		{ 
			$Nom = $_POST['txtNom']; 
 
			$base = mysql_connect ('sql1', '********', '*****'); 
			mysql_select_db ('*******', $base) ; 
 
			$sql_Select = 'Select * from concours_tomtom where tomtom_Mail = "'.$_POST['txtMail'].'"';
			$result = mysql_query ($sql_Select) or die ('Erreur SQL !'.$sql_Select.'<br />'.mysql_error());
 
			if (mysql_num_rows($result) == "") 
			{
				$sql_Select = 'Select * from concours_tomtom where tomtom_NumCli = "'.$_POST['txtNumCli'].'"';
				$result = mysql_query ($sql_Select) or die ('Erreur SQL !'.$sql_Select.'<br />'.mysql_error());
 
				if (mysql_num_rows($result) == "") 
				{
 
					// lancement de la requete
					$sql = 'INSERT INTO concours_tomtom VALUES ("", "'.$_POST['txtNom'].'", "'.$_POST['txtPrenom'].'", "'.$DateNaissance.'", "'.		$_POST['txtMail'].'", "'.$_POST['txtNumCli'].'","'.$_POST['txtAdresse'].'","'.$CP.'","'.$_POST['txtVille'].'", "'.$Garage.'")';
 
					// on insere le tuple (mysql_query) et au cas où, on écrira un petit message d'erreur si la requête ne se passe pas bien (or die)
					mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
 
					// on ferme la connexion à la base
					mysql_close();
 
					echo "<script language=\"JavaScript\" type=\"text/JavaScript\"> 
					document.location = 'TomtomSuccess_fr.php' 
					</script>";            
 
				} else 
			{
				echo "<script language=\"JavaScript\" type=\"text/JavaScript\"> 
				document.location = 'TomtomError_fr.php' 
				</script>";
		}}
 
	}  }
}
 
?> 
 
 
 
 
  <form name="Formulaire_Concours" action="<?php echo ($_SERVER['PHP_SELF']); ?>" method="post"> 
<table width="95%" border="0" align="center">
  <tr>
    <td height="51" colspan="6" align="center" valign="middle"><p><img src="images/TitreJeuNoel.gif" width="468" height="88" /></p></td>
    <td width="159" rowspan="3"><img src="images/TomtomOne.gif" width="159" height="152" /></td>
  </tr>
  <tr>
    <td height="0" colspan="6" rowspan="2"><p class="TextedePage">&nbsp;</p>    </td>
  </tr>
  <tr>
    <td width="4" height="24"><p>&nbsp;</p>
    </td>
  </tr>
  <tr>
    <td width="1" align="left" valign="middle">&nbsp;</td>
    <td height="88" colspan="6" align="left" valign="middle"><span class="TextedePage"><img src="images/ParticipTomtom3.gif" alt="Pour participer" width="581" height="131" /></span></td>
  </tr>
  <tr>
    <td height="42" align="center" valign="top">&nbsp;</td>
    <td width="300" align="center" valign="top" class="TextedePage">&nbsp;</td>
    <td width="450" align="center" valign="top">&nbsp;</td>
    <td width="118" height="42">&nbsp;</td>
    <td width="1" align="center" valign="middle">&nbsp;</td>
    <td colspan="2" align="center" valign="middle">&nbsp;</td>
  </tr>
  <tr>
    <td height="31" align="center" valign="top">&nbsp;</td>
    <td align="center" valign="top" class="TextedePage"><div align="left">
        <label class="InfosTomtom">Nom :</label>
    </div></td>
    <td align="center" valign="top"><div align="left">
        <input name="txtNom" type="text" id="txtNom" value="<?php echo $default['txtNom']; ?>" />
        <span class="InfosTomtom">*</span></div></td>
    <td height="31">&nbsp;</td>
    <td align="center" valign="middle">&nbsp;</td>
    <td colspan="2" align="center" valign="middle">&nbsp;</td>
  </tr>
  <tr>
    <td height="23" align="center" valign="top">&nbsp;</td>
    <td height="23" colspan="6" align="left" valign="top" class="TextedePage"><form id="form1" name="form1" method="post" action="">
      <label>
        <input name="chkRegl" type="checkbox"  value="valeur"/>
      </label>
      <span class="InfosSites">En cochant cette case, j'accepte le r&egrave;glement. Pour recevoir le r&egrave;glement cliquez <a href="mailto:nicolas.giltaire@mannes.fr?subject=Demande de règlement&body=Merci de m'envoyer le règlement par mail">ici</a></span>
    </form>    </td>
  </tr>
  <tr>
    <td height="35" align="center" valign="top">&nbsp;</td>
    <td colspan="2" align="left" valign="bottom" class="InfosSites">* Champs obligatoires </td>
    <td height="35">&nbsp;</td>
    <td align="center" valign="middle">&nbsp;</td>
    <td colspan="2" align="center" valign="middle"><input name="cmdEnvoyer" type="submit" id="cmdEnvoyer" value="Envoyer" disable/>
    </td>
 
 
  </tr>
  <tr>
    <td align="left" valign="middle">&nbsp;</td>
    <td align="left" valign="middle">&nbsp;</td>
    <td align="left" valign="middle">&nbsp;</td>
    <td height="88">&nbsp;</td>
    <td align="center" valign="middle">&nbsp;</td>
    <td colspan="2" align="center" valign="middle">&nbsp;</td>
  </tr>
</table>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
</form>
</body>
</html>
Merci a vous.
Nicos77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2006, 17h13   #2
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
Citation:
Envoyé par Nicos77
Bonjour,

J'ai un gros souci avec une de mes pages.

Elle ne fonctionne pas sur IE.

Voici le plus gros de mon code

Code :
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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
<style type="text/css">
<!--
body {
	background-image: url(images/fond_home.gif);
	background-repeat: repeat;
}
-->
</style>
</head>
<?php
 
$default['txtNom'] = isset($_POST['txtNom'])?$_POST['txtNom']:'';
;
 
if (isset($_POST['cmdEnvoyer'])) {
	if (!isset($_REQUEST['chkRegl']))
	{
		print ("<div style='color:red'>Veuillez accepter le règlement pour continuer</div>");
	} else 
	{	
 
		require_once('TestFormulaire_fr.php');
 
 
			// Register the subclasses to use 
		$v['er'] = new ValidateRequired('Nom', $_POST['txtNom']); 
		$v['s']  = new ValidateRequired('Prénom', $_POST['txtPrenom']); 
		$v['e']  = new ValidateEmail($_POST['txtMail']); 
		$v['u']  = new ValidateNumClient($_POST['txtNumCli']);
		$v['t']  = new ValidateRequired('Adresse', $_POST['txtAdresse']); 
		$v['v']  = new ValidateRequired('Code Postal', $_POST['txtCP']); 
		$v['w']  = new ValidateRequired('Ville', $_POST['txtVille']); 
 
		$errorMsg = ''; 
		$errorNumCli = '';
		$errorAdresse = '';
		// Perform each validation 
		foreach($v as $validator) 
		{ 
			if (!$validator->isValid()) 
			{ 
				while ($error=$validator->getError()) 
				{ 
					if ($error =='N° Client non valide')
					{
						$errorNumCli.="<li>".$error."</li>\n";
					}
						else if (($error =='Adresse doit être renseigné !') || ($error =='Code Postal doit être renseigné !')|| ($error=='Ville doit être renseigné !'))
						{
							$errorAdresse.="<li>".$error."</li>\n"; 
						} else
						{
							$errorMsg.="<li>".$error."</li>\n"; 
						}
 
				} 
			} 
		} 
		if ($errorMsg != '')
		{ 
			print ("<div style='color:red'>Les erreurs suivantes se sont produites:\n<ul>".$errorMsg."</ul></div>"); 
 
		} 
			else if (($errorNumCli != '') && (($errorAdresse != '') || ($errorCP != '') || ($errorVille != '')))
		{
			print ("<div style='color:red'>Veuillez remplir votre adresse complète ou votre numéro client</div>");
		}
			else
		{ 
			$Nom = $_POST['txtNom']; 
 
			$base = mysql_connect ('sql1', '********', '*****'); 
			mysql_select_db ('*******', $base) ; 
 
			$sql_Select = 'Select * from concours_tomtom where tomtom_Mail = "'.$_POST['txtMail'].'"';
			$result = mysql_query ($sql_Select) or die ('Erreur SQL !'.$sql_Select.'<br />'.mysql_error());
 
			if (mysql_num_rows($result) == "") 
			{
				$sql_Select = 'Select * from concours_tomtom where tomtom_NumCli = "'.$_POST['txtNumCli'].'"';
				$result = mysql_query ($sql_Select) or die ('Erreur SQL !'.$sql_Select.'<br />'.mysql_error());
 
				if (mysql_num_rows($result) == "") 
				{
 
					// lancement de la requete
					$sql = 'INSERT INTO concours_tomtom VALUES ("", "'.$_POST['txtNom'].'", "'.$_POST['txtPrenom'].'", "'.$DateNaissance.'", "'.		$_POST['txtMail'].'", "'.$_POST['txtNumCli'].'","'.$_POST['txtAdresse'].'","'.$CP.'","'.$_POST['txtVille'].'", "'.$Garage.'")';
 
					// on insere le tuple (mysql_query) et au cas où, on écrira un petit message d'erreur si la requête ne se passe pas bien (or die)
					mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
 
					// on ferme la connexion à la base
					mysql_close();
 
					echo "<script language=\"JavaScript\" type=\"text/JavaScript\"> 
					document.location = 'TomtomSuccess_fr.php' 
					</script>";            
 
				} else 
			{
				echo "<script language=\"JavaScript\" type=\"text/JavaScript\"> 
				document.location = 'TomtomError_fr.php' 
				</script>";
		}}
 
	}  }
}
 
?> 
 
 
 
 
  <form name="Formulaire_Concours" action="<?php echo ($_SERVER['PHP_SELF']); ?>" method="post"> 
<table width="95%" border="0" align="center">
  <tr>
    <td height="51" colspan="6" align="center" valign="middle"><p><img src="images/TitreJeuNoel.gif" width="468" height="88" /></p></td>
    <td width="159" rowspan="3"><img src="images/TomtomOne.gif" width="159" height="152" /></td>
  </tr>
  <tr>
    <td height="0" colspan="6" rowspan="2"><p class="TextedePage">&nbsp;</p>    </td>
  </tr>
  <tr>
    <td width="4" height="24"><p>&nbsp;</p>
    </td>
  </tr>
  <tr>
    <td width="1" align="left" valign="middle">&nbsp;</td>
    <td height="88" colspan="6" align="left" valign="middle"><span class="TextedePage"><img src="images/ParticipTomtom3.gif" alt="Pour participer" width="581" height="131" /></span></td>
  </tr>
  <tr>
    <td height="42" align="center" valign="top">&nbsp;</td>
    <td width="300" align="center" valign="top" class="TextedePage">&nbsp;</td>
    <td width="450" align="center" valign="top">&nbsp;</td>
    <td width="118" height="42">&nbsp;</td>
    <td width="1" align="center" valign="middle">&nbsp;</td>
    <td colspan="2" align="center" valign="middle">&nbsp;</td>
  </tr>
  <tr>
    <td height="31" align="center" valign="top">&nbsp;</td>
    <td align="center" valign="top" class="TextedePage"><div align="left">
        <label class="InfosTomtom">Nom :</label>
    </div></td>
    <td align="center" valign="top"><div align="left">
        <input name="txtNom" type="text" id="txtNom" value="<?php echo $default['txtNom']; ?>" />
        <span class="InfosTomtom">*</span></div></td>
    <td height="31">&nbsp;</td>
    <td align="center" valign="middle">&nbsp;</td>
    <td colspan="2" align="center" valign="middle">&nbsp;</td>
  </tr>
  <tr>
    <td height="23" align="center" valign="top">&nbsp;</td>
    <td height="23" colspan="6" align="left" valign="top" class="TextedePage"><form id="form1" name="form1" method="post" action="">
      <label>
        <input name="chkRegl" type="checkbox"  value="valeur"/>
      </label>
      <span class="InfosSites">En cochant cette case, j'accepte le r&egrave;glement. Pour recevoir le r&egrave;glement cliquez <a href="mailto:nicolas.giltaire@mannes.fr?subject=Demande de règlement&body=Merci de m'envoyer le règlement par mail">ici</a></span>
    </form>    </td>
  </tr>
  <tr>
    <td height="35" align="center" valign="top">&nbsp;</td>
    <td colspan="2" align="left" valign="bottom" class="InfosSites">* Champs obligatoires </td>
    <td height="35">&nbsp;</td>
    <td align="center" valign="middle">&nbsp;</td>
    <td colspan="2" align="center" valign="middle"><input name="cmdEnvoyer" type="submit" id="cmdEnvoyer" value="Envoyer" disable/>
    </td>
 
 
  </tr>
  <tr>
    <td align="left" valign="middle">&nbsp;</td>
    <td align="left" valign="middle">&nbsp;</td>
    <td align="left" valign="middle">&nbsp;</td>
    <td height="88">&nbsp;</td>
    <td align="center" valign="middle">&nbsp;</td>
    <td colspan="2" align="center" valign="middle">&nbsp;</td>
  </tr>
</table>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
</form>
</body>
</html>
Merci a vous.
J'ai pas le courage de lire le code . La seul chse que je puisse te dire c'est de regarder le code source sous IE. Normalement elle doit s'afficher. De là, tu débugs en dure le HTML généré et/ou la css. Quand tu auras trouvé la cause tu débug le code php qui à généré le HTML.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2006, 17h50   #3
Nouveau Membre du Club
 
Inscription : février 2003
Messages : 155
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 155
Points : 26
Points : 26
En fait tout mon code php ne s'affiche pas dans la source d'IE.
Nicos77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2006, 17h51   #4
Nouveau Membre du Club
 
Inscription : février 2003
Messages : 155
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 155
Points : 26
Points : 26
Et je viens de voir que c'est pareil sur firefox
Nicos77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2006, 20h12   #5
Invité de passage
 
Inscription : décembre 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 2
Points : 2
Points : 2
Tu n'as pas de balise "<body>"..
sixtaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2006, 09h09   #6
Membre éclairé
 
Avatar de johweb
 
Inscription : décembre 2003
Messages : 332
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : décembre 2003
Messages : 332
Points : 316
Points : 316
Citation:
Envoyé par Nicos77
En fait tout mon code php ne s'affiche pas dans la source d'IE.
Et heureusement !!! Le code est interprêté par le serveur qui renvoit juste l'affichage généré à ton navigateur... ^^
johweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2006, 09h44   #7
Nouveau Membre du Club
 
Inscription : février 2003
Messages : 155
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 155
Points : 26
Points : 26
Bonjour,

J'ai ajouté une balise <body> mais ca ne fonctionne pas.

Le fait d'appuyer sur mon bouton ne génère aucune action.

Merci
Nicos77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2006, 10h36   #8
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
Il faut que tu testes les valeurs que tu envoys. Pour cela regarde si ton post est bien envoyé et regarde son contenu via print_r($_POST) et print_r($_GET). Tu le fais après le clique. Tu verras ainsi les variables qui traine.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2006, 12h17   #9
Membre actif
 
Inscription : mai 2005
Messages : 147
Détails du profil
Informations personnelles :
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mai 2005
Messages : 147
Points : 164
Points : 164
salut,

>Le fait d'appuyer sur mon bouton ne génère aucune action.

il y a deux formulaires imbriqués, c'est pas bon, les formulaires n'ont pas à être imbriqués.
c'est peut-être la raison de ton problème.

sinon faire un "<?php echo ($_SERVER['PHP_SELF']); ?>" ouvre la possibilité de failles xss.

par exemple, crés une page test.php avec pour source :

<?php
echo $_SERVER['PHP_SELF'];
?>

appel ta page :

http://localhost/test.php/<script>alert('toto')</script>

+
tthierry est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2006, 15h53   #10
Futur Membre du Club
 
Inscription : avril 2004
Messages : 32
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 32
Points : 18
Points : 18
Vire le petit formulaire que tu as mis dans le grand et gères le tout via le formulaire principal.
silef est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h54.


 
 
 
 
Partenaires

Hébergement Web