lien vers une ancre avec des include
Posté : 22 avr. 2007, 17:24
bonjour,
je suis en train d'élaborer un petit site en Html et je m'aide de PHP pour la structure.
voilà j'ai 3 div dans ma page :
menu avec comme titre : accueil, physique et maths
sous menu
contenu.
l'idée est que quand je clique sur maths par exemple, le sous menu de la page maths (ssmaths.htm) s'affiche dans le div sous menu, et la page maths.htm s'affiche dans le contenu.
voici le code de mon menu :
voici le code mon sous menu :
(le none.htm c'est une page blanche sans rien)
et le code mon contenu :
tout ceci marche très bien. là où cela se complique c'est pour mettre des ancres:
je vous donne d'abord le code de ma page ssmaths.htm (qui s'affiche dans le div sous-menu)pour exemple:
ce que je cherche à faire, c'est que quand je clique sur "titre1", que cela m'ouvre la page maths.htm dans le div contenu mais cette fois au niveau du titre1.
j'ai donc écris ceci dans ma page maths.htm :
et ceci dans ma page ssmaths.htm :
j'ai ensuite modifié dans ma page index.php le code des div sous-menu et contenu pour que sous menu laisse affiché ssmaths.htm pour la valeur $page=11 et que le contenu affiche maths.htm#titre1 pour la valeur $page=11 :
dans le div sous menu :
et dans le div contenu :
mais quand je veux afficher, easyphp me dit cela :
Warning: main(maths.htm#titre1): failed to open stream: No such file or directory in d:\logiciels\easyphp1-8\www\website5\index.php on line 187
Warning: main(): Failed opening 'physique.html#balise2' for inclusion (include_path='.;D:/logiciels/EasyPHP1-8\php\pear\') in d:\logiciels\easyphp1-8\www\website5\index.php on line 187
une solution pour que cela marche?(le système des liens vers les ancres)
merci d'avance
je suis en train d'élaborer un petit site en Html et je m'aide de PHP pour la structure.
voilà j'ai 3 div dans ma page :
menu avec comme titre : accueil, physique et maths
sous menu
contenu.
l'idée est que quand je clique sur maths par exemple, le sous menu de la page maths (ssmaths.htm) s'affiche dans le div sous menu, et la page maths.htm s'affiche dans le contenu.
voici le code de mon menu :
Code : Tout sélectionner
<a href="?page=0"> <b>accueil </a>
<a href="?page=1"><b> Maths
<a href="?page=2"><b>Physique
Code : Tout sélectionner
<?php
// Récupération du paramètre GET avec PHP>=4.1
// (avec valeur par défaut=0) .
if (isset($_GET["page"])) $page = $_GET["page"];
else $page = 0;
// Contenu dépendant de la valeur du paramètre
switch ($page) {
case 1 : include("ssmaths.htm"); break;
case 2 : include("ssphysique.htm"); break;;
default : include("none.htm"); break;
}
?>
et le code mon contenu :
Code : Tout sélectionner
<?php
// Ici, c'est la zone centrale
// Récupération du paramètre GET avec PHP>=4.1
// (avec valeur par défaut=0) .
if (isset($_GET["page"])) $page = $_GET["page"];
else $page = 0;
// Contenu dépendant de la valeur du paramètre
switch ($page) {
case 1 : include("maths.htm"); break;
case 2 : include("physique.html"); break;
default : include("accueil.htm"); break;
}
?>
je vous donne d'abord le code de ma page ssmaths.htm (qui s'affiche dans le div sous-menu)pour exemple:
Code : Tout sélectionner
Maths<br />
titre1<br />
titre2<br />
titre3<br />
j'ai donc écris ceci dans ma page maths.htm :
Code : Tout sélectionner
....<h2 id="titre1"> Titre1</h2>
Code : Tout sélectionner
<a href="?page=11">titre 1</a>
dans le div sous menu :
Code : Tout sélectionner
<?php
// Récupération du paramètre GET avec PHP>=4.1
// (avec valeur par défaut=0) .
if (isset($_GET["page"])) $page = $_GET["page"];
else $page = 0;
// Contenu dépendant de la valeur du paramètre
switch ($page) {
case 1 : include("ssmaths.htm"); break;
case 11 : include("ssmaths.htm"); break;
case 2 : include("ssphysique.htm"); break;
default : include("none.htm"); break;
}
?>
Code : Tout sélectionner
<?php
// Ici, c'est la zone centrale
// Récupération du paramètre GET avec PHP>=4.1
// (avec valeur par défaut=0) .
if (isset($_GET["page"])) $page = $_GET["page"];
else $page = 0;
// Contenu dépendant de la valeur du paramètre
switch ($page) {
case 1 : include("maths.htm"); break;
case 11 : include("maths.htm#titre1"); break;
case 2 : include("physique.html"); break;
default : include("accueil.htm"); break;
}
?>
Warning: main(maths.htm#titre1): failed to open stream: No such file or directory in d:\logiciels\easyphp1-8\www\website5\index.php on line 187
Warning: main(): Failed opening 'physique.html#balise2' for inclusion (include_path='.;D:/logiciels/EasyPHP1-8\php\pear\') in d:\logiciels\easyphp1-8\www\website5\index.php on line 187
une solution pour que cela marche?(le système des liens vers les ancres)
merci d'avance