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 30/03/2007, 16h14   #1
Membre du Club
 
Inscription : mars 2005
Messages : 195
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 195
Points : 63
Points : 63
Par défaut [Formulaire]probléme de formulaire avec IE.

bonjour, bonjour!

je post pour un problème surement bateau, mais je ne trouve pas de solutions.

j'ai un menu sous forme de formulaire qui passe parfaitement sous FireFox mais pas du tout sous IE ...

j'utilise la méthode post pour envoyer au serveur la page à renvoyer! Je pense qu'IE envoi toujours la même valeur ... et je ne vois pas pourquoi !

voila le code de ma page :

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
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>site test</title>
<script type="text/JavaScript">
<!--
function MM_preloadImages() {
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
//-->
</script>
<style type="text/css">
<!--
.Style1 {
	font-size: 24px;
	font-weight: bold;
}
-->
</style>
</head>
<body onload="MM_preloadImages('img/questionson.png','img/accueilon.png','img/presentationon.png','img/coachson.png','img/formationson.png','img/formationcontinueon.png','img/formationaccompagnementon.png','img/caredrepriseon.png','img/partenaireson.png','img/temoignageson.png','img/questions.png','img/accueil.png','img/presentation.png')">
<table width="800" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td height="100" colspan="2"><img src="img/bandeau.png" alt="Bandeau" width="800" height="164" longdesc="http://www.saint-ange.fr" />
   </td>
  </tr>
  <tr>
    <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
     <td width="208" height="40" background="img/menuH.png">&nbsp;</td>
     <td width="592" background="img/fondCorpH.png">&nbsp;</td>
    </tr>
    <tr>
     <td align="center" valign="top" background="img/menuC.png">
     <table border="0" cellpadding="0" cellspacing="0" >
     <form method="post">
     <tr><td align="right">
<INPUT id='img1' TYPE="image" name="page" value="accueil" SRC="img/accueil.png" WIDTH=194 HEIGHT=36 BORDER=0 ALT="Accueil"
onMouseover="document.getElementById('img1').src='img/accueilon.png'"		onMouseout="document.getElementById('img1').src='img/accueil.png'"/>
     </td></tr>
     <tr><td align="right">
<INPUT id='img2' TYPE="image" name="page" value="presentation" SRC="img/presentation.png" WIDTH=194 HEIGHT=36 BORDER=0 ALT="..."
onMouseover="document.getElementById('img2').src='img/presentationon.png'"	onMouseout="document.getElementById('img2').src='img/presentation.png'"/>
     </td></tr>
     <tr><td align="right">
<INPUT id='img3' TYPE="image" name="page" value="tst" SRC="img/tst.png" WIDTH=194 HEIGHT=36 BORDER=0 ALT="tst"
onMouseover="document.getElementById('img3').src='img/tston.png'"	onMouseout="document.getElementById('img3').src='img/tst.png'"/>
     </td></tr>
   </form>
  </table>			
 </td>
   <td align="center" background="img/fondCorpC.png">
    <table width="570" border="0" cellpadding="0" cellspacing="0">
     <tr><td>	
           <!-- =============================== -->	
           En construction ...
     </td></tr>
    </table>
   </td>
  </tr>
  <tr>
   <td height="40" background="img/menuB.png">&nbsp;</td>
   <td background="img/fondCorpB.png">&nbsp;</td>
  </tr>
 </table>	
</td></tr></table>
</body></html>
Le problème et le suivant :
quand je suis sous FF, suivant le bouton cliqué la page correspondante est renvoyé. Mais sous IE, seul la première page est renvoyé quelque soit le bouton cliqué ...

si quelqu'un à une solution/explication à ce petit problème !!
Merci d'avance.
rteuteu55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 16h20   #2
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
Le name est identique et c'est le name qui est envoyé en POST ...

Vire tes value et remplace les par des name.
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 16h51   #3
Membre du Club
 
Inscription : mars 2005
Messages : 195
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 195
Points : 63
Points : 63
je vais tester mais cela me surprends! car dans mon script php je choisissais ma page grâce au code suivant :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
switch ($_POST['page'])
{
  case 'accueil' :
    include('accueil.html');
    break;
  case 'presentation' :
    include('presentation.html');
    break;
  case 'tst' :
    include('tst.html');
    break;
  default :
    include('accueil.html');
    break;
}
je me demande alors sur quel variable je vais pouvoir choisir ma page dans ce cas !!
rteuteu55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 17h11   #4
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
Tu peux faire comme ça .. :

Code php :
1
2
3
4
5
6
7
8
9
switch($_POST['page']){
   default :
      if(file_exists($_POST['page'].".html")){
         include($_POST['page'].".html");
      } else {
         include("accueil.html");
      }
   break;
}
Comme ça tu n'as pas besoin de faire un case par page.

Et c'est justement une différence entre IE et Firefox qui n'envoient pas les mêmes valeurs en POST. IE n'envoie que les name.
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 17h20   #5
Membre du Club
 
Inscription : mars 2005
Messages : 195
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 195
Points : 63
Points : 63
je ne comprends pas la solution que tu propose,

comment tester la variable $_POST['page'] si elle n'existe plus ?

edit : si IE n'envoie que les 'name', il faut alors que je test les 'name' un par un ? ...
rteuteu55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 17h26   #6
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
Citation:
Envoyé par Bisûnûrs
Vire tes value et remplace les par des name.
Sinon tu as ça :
http://php.developpez.com/faq/?page=...ire_deuxsubmit
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 17h43   #7
Membre du Club
 
Inscription : mars 2005
Messages : 195
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 195
Points : 63
Points : 63
oui je me suis aidé du lien que tu donne. Je vais donc me résigner à faire une liste interminable de if ... elseif (merci IE ...)

moi qui suis contre ce type de code ...

en tout cas merci de tes réponses 'Bisûnûrs' !!
rteuteu55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2007, 18h20   #8
Membre du Club
 
Inscription : mars 2005
Messages : 195
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 195
Points : 63
Points : 63
Après test, si je vire les values et que je met un 'name' différent à chaque 'input', ça ne marche plus ni sur IE ni sur FF ... .

edit : je pense que le problème vient pas du php mais bien du code HTML puisque seul EI me fait planter mon script !!

le poste à été déplacé mais je ne pense pas trouver de solutions sur ce forum(forum php) .
enfin si quelqu'un as une idée !! je suis preneur !
rteuteu55 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 15h49.


 
 
 
 
Partenaires

Hébergement Web