Bonjours,
Sur mon site j’ai cree un menu deroulant, mais il y a un probleme d’affichage. Lorseque je clique par exemple sur BIOGRAPHIE ( http://flavieflament.free.fr/index.php?page=savie/savie ) ben il me renvoi a l’accueil.
Voici le code du menu deroulant :
Biographie
Palmares
L’erreur est surment sur action=“index.php” mais si je mais action=“savie/biographie.php” il va sur la page biographie mais il ouvre une nouvelle page. Et si on clique sur palmares ca va aussi sur biographie… bref je suis un peu paumer.
Voici la page de l’index :
©Site Officiel de Max Magel ~ MaxLaStar Studio 204 Tv
<table width="800" cellpadding="0" cellspacing="0" height="150" border="0" summary="">
<tr>
<td><img src="images/banniere/banhomeg.png" border="0" width="400" height="150" alt=""></td>
<td><img src="images/banniere/banhomed.png" border="0" width="400" height="150" alt=""></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="150" valign="top">
<table width="150" cellpadding="0" cellspacing="0" height="400" border="0" summary="">
<tr>
<td>
<img src="images/banniere/menu1g.png" border="0" width="150" height="43" alt=""><br>
<a href="index.php?page=accueil" class="sidelink"><img src="images/banniere/menu2g.png" border="0" width="150" height="59" alt="">[/url]<br>
<a href="index.php?page=savie/savie" class="sidelink"><img src="images/banniere/menu3g.png" border="0" width="150" height="59" alt="">[/url]<br>
<img src="images/banniere/menu4g.png" border="0" width="150" height="59" alt=""><br>
<img src="images/banniere/menu5g.png" border="0" width="150" height="59" alt=""><br>
<img src="images/banniere/menu6g.png" border="0" width="150" height="59" alt=""><br>
<img src="images/banniere/menu7g.png" border="0" width="150" height="59" alt=""><br>
</td>
</tr>
</table>
</td>
<td width="650" cellpadding="0" cellspacing="0" align="center" valign="top">
<?php if (!$page){$page='accueil';}
include (''.$page.'.php');?>
<img src="images/banniere/menu1d.png" border="0" width="150" height="41" alt=""><br>
<img src="images/banniere/menu2d.png" border="0" width="150" height="59" alt=""><br>
<img src="images/banniere/menu3d.png" border="0" width="150" height="59" alt=""><br>
<img src="images/banniere/menu4d.png" border="0" width="150" height="59" alt=""><br>
<img src="images/banniere/menu5d.png" border="0" width="150" height="59" alt=""><br>
<a href="index.php?page=magelteam/magelteam" class="sidelink"><img src="images/banniere/menu6d.png" border="0" width="150" height="59" alt="">[/url]<br>
<img src="images/banniere/menu7d.png" border="0" width="150" height="59" alt=""><br>
</td>
</tr>
MERCI d’AVANCE !
merci d’ajouter le langage dans le titre, ou bien d’attribuer une sous-catégorie au sujet.
Tu veux quoi en fait, que ton menu déroulant te serve de menu de navigation? Qd on choisit une option, on arrive sur la page correspondante?
xtaz67:
Quel bug ? :blink:
Regarde le code dans le premier post. Entre les tags [quote=""]
[/quote]
:lol:
Ah oui ca mdr!!!!! mais d’hab il interprete pa le html!!
bon ben j’ai mi les fichier ici
http://membres.lycos.fr/studio204tv/pages.zip
Merci en tout ca:)
J’ai l’impression que le lien ne fonctionne pas
sinon allez ici http://membres.lycos.fr/studio204tv/
et telecharger le fichier pages.zip
il faut faire clic-droit "enregistrer sous" pour que ton 1er lien marche
j’ai pas regrdé ton code, mais pour un menu de navigation, il faut un truc du genre sur onsubmit ou onchange du select en JS:
window.location=index.php?page=document.tonform.tonselect.value;
ensuite
$page=$_GET["page"];
if($page!=null)
if(fileexists($page.".php") //ou if(fileexists("tonrepertoire/".$page.".php")
include $page.".php";
voilà
++
hempf.
Et si $_GET[‘page’] n’existe pas, il se tape un warning (notice) de PHP.
Et mieux, si le fichier est un fichier de config, ou si dans $_GET[‘path’] tu as …/ tu peux facilement revenir à la racine…
j’ai peut etre répondu un peu vite … :
tant qu’a faire autant faire passer ça par le POST avec submit du formulaire
pour le get qui existerait pas, oui, autant faire ça : ya qu’a faire ça :
while(list($key,$val)=each($_GET))
{$$key=$val;}
while(list($key,$val)=each($_POST))
{$$key=$val;}
comme ça c fait
et apres un if(isset($page))
je sais pas trop d’ou tu sors ton $_GET[‘path’]
si c pour l’histoire du répertoire, il est pas supposé etre passé en param
mais juste ds le script
et tout celà souleve encore le problème de sécurité lié à l’include à partir d’une variable html
donc je te sens bien remmettre un couche en mettant ta méthode
Non. Si les gens sont pas foutus de lire les topics en FAQ, j’y peux rien.
Pour le path, c’est une erreur de ma part, c’est page qu’il faut lire.
Et ce que tu as fais (le while…) est débile. FORTEMENT débile.
C’est ca qui marche :
<form name="recherche" action="index.php" method="get">
<select name="page">
<option value="savie/biographie">Biographie</option>
<option value="savie/palmares">Palmares</option>
</select>
<input type="submit" value="Hopla">
</form>
:super:
black> pose toi la question de pourquoi les register_globals sont mise à Off dans les versions actuelles de PHP… La réponse est simple : là dans ton script, je peux injecter toute sorte de truc.