lien vers une ancre avec des include

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : lien vers une ancre avec des include

par Invité » 22 avr. 2007, 23:36

j'ai trouvé grâce à un autre site d'aide en php :

il fallait mettre les liens sous la forme :


<a href="?page=2#balise1">balise 1</a>

voilà ;)

par Invité » 22 avr. 2007, 19:17

oui mais là dans mon cas je j'ouvre une page htm dans mon div contenu (et en plus à une certaine ancre).

que faudrait-il que je fasse?

par thehawk » 22 avr. 2007, 18:07

shit ... grilled

Alors pour le $_GET

une petite explition : www.truc.com/index.php?id=1

regarde attentivement le ?id=1
enfaite cela correspond dans la page index.php a la $_GET[id] = 1;

par thehawk » 22 avr. 2007, 18:04

ben une pseudo frame c'est un include ... passe peut etre plutot par une frame

par Invité » 22 avr. 2007, 18:03

et bien en fait ce n'est pas un site perso mais pour les cours, et il nous est très déconseillé d'utiliser des frame(sinon j'aurai fait avec c'est clair).


"Il m'est d'avis que tu dois passer aussi passer ton ancre via $_GET. "

comment dois-je faire cela? (je ne m'y connais pas du tout en php)

par aelurus » 22 avr. 2007, 18:00

  case 11 : include("maths.htm#titre1"); break; 
Ba include vas rechercher le fichier nomé maths.html#titre1
Donc vue l'arbor de ton histoire l'erreure retourné est normal.
Il m'est d'avis que tu dois passer aussi passer ton ancre via $_GET.
Puis une simple pseudo frame ne serait elle pas plus simple ??

lien vers une ancre avec des include

par le barbare suisse » 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 :

Code : Tout sélectionner

<a href="?page=0"> <b>accueil </a> <a href="?page=1"><b> Maths <a href="?page=2"><b>Physique
voici le code mon 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 2 : include("ssphysique.htm"); break;; default : include("none.htm"); break; } ?>
(le none.htm c'est une page blanche sans rien)
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; } ?>
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:

Code : Tout sélectionner

Maths<br /> titre1<br /> titre2<br /> titre3<br />
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 :

Code : Tout sélectionner

....<h2 id="titre1"> Titre1</h2>
et ceci dans ma page ssmaths.htm :

Code : Tout sélectionner

<a href="?page=11">titre 1</a>
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 :

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; } ?>
et dans le div 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 11 : include("maths.htm#titre1"); break; case 2 : include("physique.html"); break; default : include("accueil.htm"); break; } ?>
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