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.
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>";
?>
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 !!!