Bonsoir,
J'ai un petit problème, j'ai une bdd gérée par des formulaires PHP, j'ai testé le tout avec WampServer, tout fonctionne très bien. Mais lorsque j'ai mis le tout chez mon hébergeur, mes formulaires ont des comportements bizarres. J'ai contacté le support de mon hébergeur sans succès, ils prétendent que le problème vient de mes scripts.
Un des problèmes les plus gênants est le suivant:
un formulaire permettant d'éditer les données dans lequel j'ai deux listes déroulantes, en local les listes déroulantes affichent les données passées par des variables mais sur le serveur de l'hébergeur les listes déroulantes n'affichent pas ces données mais le début de la liste.

voici le code du formulaire en question:

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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
<link rel="stylesheet" href="style.css" type="text/css">
 
<style type="text/css">
INPUT 
{width:400px;}
TD  
{width:134px;}
</style>
<?php error_reporting (E_ALL ^ E_NOTICE); ?>
<?php
 
include ("include/variables.inc.php");
include("menu.php");
$liendb = mysql_connect($bddserver, $bddlogin, $bddpassword);
mysql_select_db  ($bdd);
$idpays = $_POST['idp'];
$idregion = $_POST['idr'];
//
$rqSql = "SELECT idpays, nompays FROM pays ORDER BY nompays ASC";
// Exécution de la requête
$result = mysql_query($rqSql, $liendb);
 
// Construction de la chaîne de caractères qui fait la // liste
 
$ld = "<SELECT NAME='choix'>";
 
// On boucle sur la table
while ($row = mysql_fetch_array($result)) {
    // $row est un tableau associatif
    // les éléments sont «indicés» par les noms
    // des colonnes. Je préfère cette technique à celle
    // des indices numériques..on ajoute une colonne..
    $idpays = $row["idpays"];
    $nompays = $row["nompays"];
 
    if ( $idpays == $idp) {
        $s = "selected";
    } else {
        $s = "";
    }
 
 
    $ld .= "<OPTION VALUE='$idpays' $s >
                $nompays</OPTION>";
}
$ld .= "</SELECT>";
//
 
$rqSqlr = "SELECT idregion, region FROM regions ORDER BY region ASC";
$resultr = mysql_query( $rqSqlr, $liendb);
$ldr = "<SELECT NAME='choixregion'>";
//$ldr .= "<OPTION VALUE=0>Choisissez</OPTION>";
// On boucle sur la table
while ($row = mysql_fetch_array($resultr)) {
    // $row est un tableau associatif
    // les éléments sont «indicés» par les noms
    // des colonnes. Je préfère cette technique à celle
    // des indices numériques..on ajoute une colonne..
    $idregion = $row["idregion"];
    $region = $row["region"];
 
    if ( $idregion == $idr) {
        $sr = "selected";
    } else {
        $sr = "";
    }
 
 
    $ldr .= "<OPTION VALUE='$idregion' $sr >
                $region</OPTION>";
}
$ldr .= "</SELECT>";
 
 
//<option value="choix3" selected="selected">Choix 3</option> $_POST['idregion']
 
if  ($_REQUEST['action']=="maj")
{ 
 
  $sql = "UPDATE producteurs SET nom_producteur = '".$_REQUEST['nom_producteur']."',".
          "ville = '".$_REQUEST['ville']."',".	 
          "idpays = '".$_POST['choix']."',".
					"idregion = '".$_POST['choixregion']."',".					
          "tel = '".$_REQUEST['tel']."',".
          "email = '".$_REQUEST['email']."',".
          "web = '".$_REQUEST['web']."'".
         "WHERE idproducteur='".$_REQUEST['id']."'";
 
  mysql_query ($sql);
  header("Location: http://localhost/Vins/producteurs.php");	
}
elseif  ($_REQUEST['action']=="suppr" && $_REQUEST['id']>=1)
{
  $sql = "DELETE FROM producteurs WHERE idproducteur='".$_REQUEST['id']."'";
  mysql_query ($sql);
  header("Location: http://localhost/Vins/producteurs.php");
}
 
echo "<p align=left> :: Fiche producteur [".$_REQUEST['id']."]</p>";
 
$sql  =  "SELECT idproducteur, nom_producteur, ville, producteurs.idpays, pays.nompays, producteurs.idregion, regions.region, tel, email, web
FROM producteurs
INNER JOIN pays
ON producteurs.idpays = pays.idpays
INNER JOIN regions
ON producteurs.idregion = regions.idregion
WHERE idproducteur = '".$_REQUEST['id']."'";
 
$resultat = mysql_query ($sql);
$resultat = mysql_query($sql) or die(mysql_error()); 
$producteurs = mysql_fetch_array ($resultat);
 
?>
<div class="boite1">
<form action="producteurs_edite.php" method="post">
<input type="hidden" name="enregistre" value="oui" />
<input type="hidden" name="id" value="<?php echo $_REQUEST['id']; ?>" />
 
<table>
<tr>
 <td>Producteur</td>
 <td><input type="text" name="nom_producteur" value="<?php echo $producteurs['nom_producteur']; ?>" /></td>
</tr>
<tr>
 <td>Ville</td>
 <td><input type="text" name="ville" value="<?php echo $producteurs['ville']; ?>" /></td>
</tr>
<tr>
 <td>Pays</td>
 <td>
<?php
print $ld;
?>
 </td>
</tr>
<tr>
 <td>Régions</td>
 <td>
<?php
print $ldr;
?>
 </td>
</tr>
 <tr>
 <td>Téléphone</td>
 <td><input type="text" name="tel" value="<?php echo $producteurs['tel']; ?>" /></td>
</tr>
<tr>
 <td>Email</td>
 <td><input type="text" name="email" value="<?php echo $producteurs['email']; ?>" /></td>
</tr>
<tr>
 <td>Web</td>
 <td><input type="text" name="web" value="<?php echo $producteurs['web']; ?>" /></td>
</tr>
 
</table>
 
<br/>
 
<select  name="action">
 <option  value="maj">  Enregistrer  la  fiche  </option>
 <option  value="suppr">  Supprimer  la  fiche  </option>
</select>
 
<input  type="submit"  value="Enregistrer">
 
</form>
</div>
</body>
</html>
 
<?php 
 
mysql_close ($liendb);
 
?>
Je ne comprends pas pourquoi en local cela fonctionne et pas sur le serveur de mont hébergeur!

Merci d'avance à ceux qui pourront m'aider