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 17/07/2007, 14h35   #1
Candidat au titre de Membre du Club
 
Inscription : juillet 2007
Messages : 42
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 42
Points : 13
Points : 13
Par défaut récupération de variable $_POST sous IE.

Bonjour,

Je dois faire un petit questionnaire internet pour le boulot, et je rencontre un petit souçis... sous IE uniquement, aucun probleme sous Firefox.

Je soupsonne un probleme de gestion des DIV de IE, mais il me semble que ça devrait quand même marcher...

Voici le code (j'ai supprimé les sections qui n'ont rien à voir avec le probleme):

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
<?php session_start();?> 
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional //EN" http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<title>Cercle du Lac</title> 
<link rel="stylesheet" href="cercledulac.css" type="text/css" media="all"> 
 
<?php 
include "db_connect.inc"; 
if(isset($_POST['next'])){ 
   include "update_db.inc"; 
   $_SESSION['question']++; 
   } 
if(isset($_POST['add'])){ 
   include "update_db.inc"; 
} 
?> 
</head> 
<body> 
<div> 
<img src="http://www.acoservices.be/questionix/images/BarQuestion.gif" alt="Le Cercle du Lac"> 
</div> 
<div class="bar"> 
</div> 
<form method=POST action=index.php> 
<div class=scroll> 
<?php 
if($access_denied=='true') 
   include "access_denied.inc"; 
else{ 
   if($_SESSION['question']=="0") 
      include "welcome.inc"; 
   elseif($_SESSION['question']==$parrainage) 
      include "parrainage.inc"; 
   elseif($_SESSION['question']==$merci) 
      include "merci.inc"; 
   else 
      include "question.inc"; 
} 
?> 
</div> 
<div class="botbar"> 
</div> 
<div class="suivant"> 
<?php 
if($access_denied=='true') 
   echo ""; 
else{ 
   switch ($_SESSION['question']){ 
      case $parrainage : 
         include("script_contact.inc"); 
         echo "<input type='image' src='add.jpg' value='add' name='add' onclick='return verification()'>"; 
         echo "<input type='image' src='finish.jpg' value='next' name='next' onclick='return verification()'>"; 
         break; 
      case $merci : 
          echo "<a href='http://www.cercledulac.be'>Si vous désirez poursuivre en vistitant le site web du cercle du lac, cliquez ici.</a>"; 
         break; 
      case "0" : 
         echo "<input type='image' src='start.jpg' value='next' name='next'>"; 
         break; 
     default : 
         echo "<input type='image' src='suivant.jpg' value='next' name='next'>"; 
         break; 
   } 
} 
?>
</div> 
</form> 
</body> 
</html>
En gros quand je clique sur l'image "suivant" ou "start", il doit passer à la question suivante puisque la variable $_POST['next'] est définie... c'est le cas sous Firefox, mais sous IE, il ne considère pas que next est défini et n'incrémente donc jamais $_SESSION['question'], restant donc sur la page d'accueil...

Si qq'un à une idée...
je peux également mettre le code complet si il faut... a savoir qu'il n'y a aucune balise <form> ou </form> dans les includes.

Merci d'avance

Nico
nicoda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2007, 15h09   #2
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
salut,

$_POST est géré au niveau du serveur, donc normalement, tu n'as pas de différence entre IE et FF.

Les deux reçoivent un code html généré par le serveur.

Fait un print_r($_POST) pour voir ce qu'il y a dedans.
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2007, 16h18   #3
Candidat au titre de Membre du Club
 
Inscription : juillet 2007
Messages : 42
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 42
Points : 13
Points : 13
Salut,

oui, je sais que la gestion se fait au niveau serveur, le probleme c'est que sous IE, il n'envois pas la variable...

résultat du print_r($_POST) :
sous IE:
Array ( [next_x] => 48 [next_y] => 22 )
sous FF:
Array ( [next_x] => 57 [next_y] => 21 [next] => next )

En plus je sais pas du tout ce que viennent faire ces next_x et next_y... j'ai rien de tel dans mon code...

Je pensais plutôt que le fait que mes différent champs de formulaire soient dans des <DIV> différent perturbait IE, mais je vois pas trop pourquoi...
nicoda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2007, 16h56   #4
Candidat au titre de Membre du Club
 
Inscription : juillet 2007
Messages : 42
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 42
Points : 13
Points : 13
Résolu!

C'est mon bouton submit qui crée la pagaille...
j'ai en effet mis un
au lieu d'un
Or, selon le site de Microsoft :
Citation:
The x-coordinate is submitted under the name of the control with .x appended, and the y-coordinate is submitted under the name of the control with .y appended. Any value property is ignored. The src property specifies the IMG element.
Bref il ne retourne pas de valeurs, mais les coordonées du "click"...

N'importe quoi...
nicoda est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h28.


 
 
 
 
Partenaires

Hébergement Web