[Résolu] PB menu déroulant depuis changement d'hébergeur
Posté : 26 janv. 2009, 13:08
Bonjour,
J'avais créé une page web avec deux listes déroulantes.
La première liste désignait une catégorie. Son contenu était directement dans le code
La deuxième liste se mettait à jour lorsque l'on modifié la première. Son contenu était alors le résultat d'une requete.
Depuis un récent changement d'hébergeur ce code ne fonctionne plus.
En selectionnant une position sur la liste catégorie, celle ci revient à sa position initiale.
En cherchant un peu j'ai vu que la variable $PHP_SELF; n'était pas connu si register_globals était paramétré en 'off'
Effectivement sur mon ancien hébergeur ce paramètre était sur 'on '
J'ai lu qu'il suffisait de renseigner cette variable avec :
Cependant cela ne fonctionne pas.
Avez vous des pistes pour me dire pourquoi cela ne fonctionne pas ?
Avez vous des conseils pour refaire un code propre permettant le meme usage ?
Merci d'avance !!!
J'avais créé une page web avec deux listes déroulantes.
La première liste désignait une catégorie. Son contenu était directement dans le code
La deuxième liste se mettait à jour lorsque l'on modifié la première. Son contenu était alors le résultat d'une requete.
Code : Tout sélectionner
<form method="post" name="form1" action="<?php echo $PHP_SELF;?>">
<select name="Cat" class="bouton" onchange="submit();">
<?PHP
echo "<option value='0'>Catégorie ?";
if ($Cat == "1")
{
print("<option selected value=\"1\">Categorie1");
}
else
{
print("<option value=\"1\">Categorie1");
}
if ($Cat == "2")
{
print("<option selected value=\"2\">Categorie2");
}
else
{
print("<option value=\"2\">Categorie2");
}
echo "</select>";
echo "<select name=\"site\" class=\"bouton\" onchange=\"submit();\">";
require "ezine_db.inc.php";
$db = ezine_connecte_db();
$requetetype = "SELECT ID_LIENS,TITRE FROM `liens` WHERE CAT_LIENS='$Cat' order by Titre";
$resulttype = mysql_query($requetetype,$db);
echo "<option value=\"\">Ou?";
while ($choix = mysql_fetch_object($resulttype)){
if ($choix->ID_LIENS==$site)
{
print("<option selected value=\"".$choix->ID_LIENS."\">".$choix->TITRE."");
}
else
{
print("<option value=\"".$choix->ID_LIENS."\">".$choix->TITRE."");
}
}
?>
</select></td>
<?php
if ($site=="")
{ $page="vide.htm";}
else
{ $page="selectliens2.php?site=".$site;}
echo "<br><br>";
?>
En selectionnant une position sur la liste catégorie, celle ci revient à sa position initiale.
En cherchant un peu j'ai vu que la variable $PHP_SELF; n'était pas connu si register_globals était paramétré en 'off'
Effectivement sur mon ancien hébergeur ce paramètre était sur 'on '
J'ai lu qu'il suffisait de renseigner cette variable avec :
Code : Tout sélectionner
php $PHP_SELF = $HTTP_SERVER_VARS["PHP_SELF"];
Avez vous des pistes pour me dire pourquoi cela ne fonctionne pas ?
Avez vous des conseils pour refaire un code propre permettant le meme usage ?
Merci d'avance !!!