Aller au contenu

possible avec include ?


Sujets conseillés

Posté

Bonjour, et pardon, j'ai malencontreusement cliqué sur le mauvais bouton et envoyé une première fois en voulant visualiser,

J'ai installé au milieu d'une page une petite "F.A.Q." comprenant les réponses respectives à la dizaine de questions-types habituelles que se posent les visiteurs intéressés par cette page (il ne s'agit donc pas d'une page "dynamique", les visiteurs ne peuvent ajouter de nouvelles questions)

Dans un premier temps, j'avais tout simplement chaque réponse immédiatement sous chaque question, mais cela me donnait une page trop longue, trop lourde (certaines réponses étant illustrées), et d'autant plus que chaque visiteur ne se pose généralement que deux ou trois de ces questions-types.

Actuellement, les questions sont l'une en dessous de l'autre et cliquables en lien vers une nouvelle page correspondante à chaque question (avec le bouton "retour", bien sûr).

J'espèrais, grâce à la technique dite des "pseudo-frames" (avec include) de php trouver une solution élégante : en créant un tableau invisible du double de cellules (verticales) qu'il y a de questions, le clic sur une question (dans une cellule) faisant apparaître la réponse SOUS la question (dans la cellule juste en dessous).

<table cellpadding="0" cellspacing="0"><tr><td>

<p><a href="reponse1.php">la question 1</a></p>

</td></tr><tr><td>

<?php include('rep1.php');?>

</td></tr></table>

"rep1.php" amenant la réponse n°1 :

<?php

if(isset($_GET["rubrique"])) $rubrique = $_GET["rubrique"];

else $rubrique = "";

switch ($rubrique)

{

case 'reponse1':

include('reponse1.php');

break;

}

?>

Cela marche très bien, mais avec un inconvénient majeur : la page étant en fait rappelée, elle réapparaît en haut, je n'ai pas trouvé le truc pour la faire revenir AU NIVEAU de la question (et de sa réponse).

Suis-je parti sur une mauvaise piste ?

Posté

Bonjour,

J'entends déjà les hurlements pré-halloweenesques anti frame s'élever... :gueule:

J'ai fait quelque chose de similaire en résultat mais avec un iframe masqué (hauteur à 0 je crois, satanée mémoire) sous chaque entrée. Il n'y avait donc pas d'appel au serveur puisque tout était chargé en une fois.

Lorsque l'utilisateur activait le lien, cela modifiait la hauteur (?) et l'iframe correspondant s'insérait élégamment au milieu du texte, ça marchait pas mal avec IE, Opera et FF, pas testé sous autre. Le seul soucis était un problème à l'impression avec FF. Je dois avoir la page dans un coin mais elle n'est plus en ligne suite à une complète refonte du site concerné.

Tu peux peut-être t'inspirer de cela en remplaçant les iframes par des div. Mon choix des frames était justifié par le besoin de faire défiler le contenu car il y avait des photos parfois plus grandes que le conteneur.

cordialement

ADT

Posté

Non non, les anti-frameurs :hourra: ne devraient rien dire puisqu'il ne s'agit "que" de "pseudos" frames !

Merci ADT30 pour ta réponse, je vais essayer de comprendre/réaliser tes suggestions (même si je n'utilise pas d'iframe, car je ne crois pas que l'include puisse être assimilé à une (un ?) iframe, mais bon, je suis peu compétent).

Dans mon cas, la cellule est aussi à hauteur zéro (c'est ça l'intérêt, toutes les questions se suivent sans "vide" entre elles), mais un appel à l'include - car il s'agit d'un appel quand on clique sur la question - relance donc la page entière.

J'ai réalisé toutes mes galeries (je suis photographe) suivant ce principe de simili-frame, les vignettes à gauche et les photos agrandies à droite, mais là les pages sont SANS ascenseur vertical (ce qui oblige à page 1, page 2, etc.) car je ne montre que 2 colonnes de 5 vignettes. Tout reste donc visible en permanence.

Je suis sûr que php doit offrir une réponse, mais je ne suis qu'un tout petit webmestre amateur qui ne fait qu'interpréter/modifier légérement ce que d'autres plus calés ont pondus et gentiment offert à l'attention de qui le veut :fete:

Posté

Bonjour,

J'entends déjà les hurlements pré-halloweenesques anti frame s'élever...  :gueule:

j'avoue ne pas trop comprendre pourquoi tu parles de frame, d'iframe et de div :blink:

Ici, on parle visiblement d'include PHP (qui sont appelés à tort "pseudo-frames" et c'est peut-être le seul rapport avec la technique des cadres en HTML, c'est-à-dire quasiment aucun rapport :unsure:)

nadar: pour en revenir au niveau voulu sur une même page, utilises les ancres HTML (comme ici avec des # dans l'URL) en combinaison avec tes id de balises.

Posté

Dudu : Tout simplement parce ma solution permet de ne pas faire appel au serveur à chaque fois que le visiteur va cliquer sur une question et qu'elle est d'ailleurs très facile à rédiger en JavaScript avec pour objet des DIV contenant aussi côté serveur des INCLUDE.

Mais c'est vrai que je ne connais pas PHP et les pseudo-frames (quoique cela ne doit pas être très différent des InCLUDE en ASP ?) et que le mot m'a induit en erreur. Et aussi, avec de nombreuses pages appelées ça peut devenir trop lourd en un seul chargement.

ADT

Posté
j'avoue ne pas trop comprendre pourquoi tu parles de frame, d'iframe et de div :blink:

Ici, on parle visiblement d'include PHP (qui sont appelés à tort "pseudo-frames" et c'est peut-être le seul rapport avec la technique des cadres en HTML, c'est-à-dire quasiment aucun rapport

Bonjour Dudu,

j'ai au début effectivement utilisé les mots de "pseudo-frames" que ADT30 a mal repris, car c'est ainsi, je crois, que l'on appelle cette astuce que permettent les includes, nom donné à tort sans doute mais pas faussement puisque en effet cela permet de réaliser très proprement ce que les frames permettaient peu proprement.

C'est à mon avis, la plus belle façon de présenter une galerie de photos (ou de peintures, etc.).

Dommage que je ne puisse ici te donner l'adresse de mon site, tu aurais pu me donner ton avis à ce sujet.

nadar: pour en revenir au niveau voulu sur une même page, utilises les ancres HTML (comme ici avec des # dans l'URL) en combinaison avec tes id de balises.

Si je te comprends bien, tu me suggères de placer dans la cellule où va apparaitre la réponse une ancre de type <a name="ancre"></a> et de mettre dans réponse1 l'appel de type <a href="ma_page.php#ancre"></a>

J'y ai pensé, mais je n'ai pas trouvé où mettre ce <a href="ma_page.php#ancre"></a> (et je crois avoir essayé un peu tout ce qui me venait à l'idée).

Si je le mets dans le fichier "reponse1.php" (la page de la réponse, sans <html><body> et </body></html>), ou dans le fichier "rep1.php" (appelé par l'include dans "ma_page.php" et permettant l'include de "reponse1.php"), cela ne fonctionne pas !

Dans un cas, l'include se fait bien, mais toujours avec ma_page qui s'affiche à son début, dans l'autre cas l'include ne se fait pas (et ma_page repart quand même à son début !).

Bon, je vais encore y réfléchir et re-tester (???)

Posté

Salut

En fait si tu tiens vraiment à rester sur ce système (qui me paraît lourd toutefois) le code à mettre serait de ce genre:

<table cellpadding="0" cellspacing="0"><tr><td>
<p><a href="reponse1.php#reponseno1">la question 1</a></p>
</td></tr><tr><td id="reponseno1">
<?php include('rep1.php');?>
</td></tr></table>

Mais ce que je ne comprends pas est l'appel du lien au fichier reponse1.php .. Si la page originelle de ta FAQ ne s'appelle pas déjà reponse1.php çà te fait appeler une autre page, et non la même.

Sans vouloir te paraphraser, mais oui, dommage que tu ne puisses pas donner l'adresse de ton site, je suis un peu perdu dans ton histoire.

De plus, c'est un peu hors-sujet, mais la lourdeur de ce procédé est accentuée par ton utilisation inadéquate de tableaux destinés non pas à une présentation de contenu tabulaire (leur fonction) mais à caler une mise en page via cette grosse bidouille ancestrale. Le problème que tu vas rencontrer à caser toutes tes réponses-types dans des cellules, c'est le suivant: un navigateur, quel qu'il soit, n'affiche un tableau qu'une fois qu'il a intégré tout son contenu => donc vitesse d'affichage réduite si le tableau est trop gros. Et dans ton cas le tableau risque d'être vraiment trop gros. Je passe sur les difficultés d'accessibilité, qui si elles existent bien avec les tableaux utilisés à contre-emploi, sont pour le coup beaucoup trop hors-sujet.

Ce qui me paraîtrait plus simple, mais qui va t'obliger à revoir tout le système de FAQ sont des appels Javascript de type "show-hide". Mais attention à la dégradation propre dans le cas où le JS n'est pas activé côté client, et attention également à l'éventuelle lourdeur (le contenu peut, selon la méthode employée, être amené à être chargé tout d'un bloc du premier coup)

PS: un include serveur reste un include serveur, quel que soit le langage serveur utilisé (PHP, ASP, JSP, CFM, Lasso, WOA...). Et je persiste à dire que les cadres HTML n'ont vraiment mais vraiment rien à voir avec çà :hypocrite: Proprement ou pas proprement, d'ailleurs..

Posté
Cela marche très bien, mais avec un inconvénient majeur : la page étant en fait rappelée, elle réapparaît en haut, je n'ai pas trouvé le truc pour la faire revenir AU NIVEAU de la question (et de sa réponse).

Mon très modeste niveau en php me pousse à croire que tu ne pourra utiliser la fonction include sans recharcher la page puisque le php est interprété coté serveur.

J'ai fait un truc dans le genre pour ma FAQ en javascript, je m'étais inspiré quelque part mais je ne me souviens plus ou exactement (je suis une buse en JS). De toute façon, ça doit être tellement simple pour quelqu'un qu'i s'y connais que je me permet de te le montrer.

http://www.ouetu.com/retrouver,aide.html

Si ça peut t'aider,

Loïc.

Posté

Merci beaucoup à vous deux !

Dudu, je suis d'accord avec toi, mon code est lourd, j'ai tout bêtement transcris une adaptation de mes galeries. Je n'ai pas caché que je n'étais qu'un amateur au sens le plus élémentaire du terme :huh:

Mais cleden m'a donné le bon lien, c'est EXACTEMENT ce que je veux faire. Je n'ai pas encore regardé le code - je préfère vous répondre d'abord - mais je vais sans doute y trouver mon bonheur (et éventuellement écrire au webmestre).

Si c'est du JS, pas de problème, je préviens dès la page 2 que mon site peut rendre obligatoire l'acceptation du JS et renvoie à ma "charte de confidentialité" dans laquelle je m'engage à respecter les règles de la CNIL.

Alors, les 1,25 % d'internautes qui désactivent le JS (qui pourtant n'est pas dangereux et ne peut guère gêner la confidentialité, contrairement aux cookies par exemple) et qui refuseraient de le faire dans mon site ne me gênent pas, et d'autant plus que cette page est destinée aux femmes qui voudraient poser pour moi, elles ne sont sans doute pas dans la catégorie des "refuseurs" de JS !

Je peux peut-être te permettre de trouver mon site sans donner son adresse, en te disant qu'il te suffit de taper "amour AND tendresse" dans AOL, Yahoo, Lycos, MSN où il est en tête de la 1ère page (dans Google, malheureusement, ce n'est pas ma page d'entrée mais ma page "charte", tu peux facilement supprimer après le com !)

La page en question est la page "Poser" dans le menu.

Par contre, pour les galeries, tu pourras constater qu'il est difficile de se passer du cadre.

Bon, je fonce sur l'adresse donnée par l'ami cleden :hourra:

Posté

J'aurais dû regarder le code avant de vous répondre :boude:

Ça ne va pas, le principe est bien le bon, mais le texte est en fait caché dans la page.

Je vais suivre la suggestion de dudu (show-hide), car effectivement le php étant serveur, j'aurai sans doute toujours un retour vers le haut de page (en tout cas, l'éviter est trop fort pour moi !)

Bon, là, comme on est le 1er, il faut que je m'occupe de mes stats. On verra après :P

Posté

À propos de JS indispensable, çà reste dommage quand même: moi-même surfant sans JS je n'ai pas accès à ton site. De plus c'est contraire à toutes les règles d'accessibilité élémentaires. Quant au chiffre de 1,25% tu as en fait divisé par 10 le véritable chiffre que quasiment toutes les institutions statistiques estiment à 12% ;)

Bon courage quand même B)

PS: pour info, je ne désactive pas le JS ppour une éventuelle raison de "dangerosité" :unsure:

Posté
moi-même surfant sans JS je n'ai pas accès à ton site.

FAUX !!!!!

J'ai pris la peine, dès la 2ème page (passage obligé depuis l'accueil-sans-JS), d'insérer entre <noscript></noscript> les renseignements suivants :

ALERTE, ce site nécessite le JavaScript !

Les scripts "JavaScript" ne sont utilisés - SANS exagération ! - QUE pour la navigation dans le site.

"amour et tendresse" est enregistré auprès de la CNIL sous le numéro 881737 et agit en conformité avec la loi «Informatique & Libertés».

Si votre navigateur ne supporte pas le JavaScript, vous aurez des difficultés pour visiter "amour et tendresse".

Et avoir "des difficultés" ne veut pas dire : "je ne peux pas visiter ton site" !

De mémoire, tu perds certains conforts (défilement de page et haut/bas défilant, menu allumé sur le nom de la page où tu es, etc.), tu ne pourrais pas m'écrire, envoyer une e-carte à ta chérie (ou ton chéri, selon tes goûts), c'est de ce genre et pas plus.

En particulier mes photos sont entièrement accessibles (sauf les photos de couples, pour une réserve d'accès aux majeurs que je ne sais pas faire sans JS)

PS = ne pas comprendre porno en lisant "réserve d'accès aux majeurs" S.V.P.

Quant au chiffre de 1,25% tu as en fait divisé par 10 le véritable chiffre que quasiment toutes les institutions statistiques estiment à 12%

Je n'ai rien divisé par 10, je reprends mes stats ! Même sans JS tu pourrais voir dans ma page "atlas des visiteurs" les chiffres :

avec 98,81 % (en hausse)

sans 1,19 % (en baisse)

PS: pour info, je ne désactive pas le JS ppour une éventuelle raison de "dangerosité"

Ben ... tu as aussi le droit de t'assoir sur un tapis à clou, si tu aimes pas les coussins (là, je suis sûr que je t'énerve, hein ? :gueule: )

Posté

Tu vois un site qui pousse des hauts cris parce que ta configuration n'est pas visiblement du (bon) goût du webmaster. Tu fais quoi ? Tu t'en vas.

Un visiteur potentiel en moins: tu as aussi le droit de t'asseoir sur un tapis à clou etc etc ....

Perso j'arrête là, à plus. Et bon courage.

Posté

Le visiteur en résolution 800 x 600 (il y en aurait encore 20 % !!!) est heureux de pouvoir utiliser le pop-up plein écran qui lui est proposé (au choix de chacun), dans la mesure ou il ne connaît généralement pas la touche F11 sous Windows (d'après un mini-sondage que j'avais fait il y a deux ans).

C'est un exemple de ce qui ne gêne la visite de personne mais apporte du confort à certains, comme aussi la touche "haut/bas" + "défilement" qui flotte à droite de l'écran ...

J'ai aussi le témoignage de 2 anti-JS trouvant courtois mon avertissement (qu'ils semblaient trouver extrêmement rarement ailleurs), et paraissant avoir visité mon site sans trop de problèmes.

En fait l'un des deux râlait car apparemment il avait accepté temporairement le JS pour pouvoir regarder la galerie "couples".

Je lui avais répondu que je serais heureux qu'il me donne le code permettant la même chose SANS JS ... Sa réponse fut ........... un silence qui dure encore !

(Cette demande de ma part reste toujours valable pour celui/celle qui aurait la réponse).

Pour terminer, je te remercie pour le bon courage que tu me souhaites.

Posté

J'aime bien le principe du nouveau venu qui arrive avec une question, et finit par donner des leçons aux gens qu'il est venu solliciter. Tu vas te faire des potes, Nadar.

Comme je suis curieux et photographe (amateur, s'entend), je suis allé voir ton site. J'aime bien la plupart de tes images, mais je ne les trouve pas mises en valeur par le design, on ne sait pas trop où cliquer, certaines images sont cliquables et pas d'autres, bref, dommage...

Bon ce n'est que mon avis, je ne suis pas un webmestre de haut vol.

A part ça je trouve qu'on pourrait considérer un lot de questions/réponses comme des données tabulaires et je suis d'accord qu'une faq un peu longue est très vite lourdingue (il faut d'ailleurs que je revoie la mienne, tiens). Bref, j'ai pas trop de solution mais je vais étudier celles qui ont été proposées ! :-)

Posté
Comme je suis curieux et photographe (amateur, s'entend), je suis allé voir ton site. J'aime bien la plupart de tes images, mais je ne les trouve pas mises en valeur par le design, on ne sait pas trop où cliquer, certaines images sont cliquables et pas d'autres, bref, dommage...

Dommage que tu ne m'aies pas écrit cela depuis mon site, je ne peux te répondre ici (ce n'est pas le sujet). Je le regrette, car depuis 5 ans, tu es le 1er à me dire ça, et j'aurais voulu en savoir plus car je n'ai rien compris :wacko:

(tiens, c'est marrant, j'avais oublié de remettre le JS, je pouvais pas mettre de smileys. Comment a fait dudu pour les mettre ?)

Je te dirai juste ceci (et tu as pu constater ci-avant combien c'est vrai !!!) :

QUOI QUE TU FASSES, TU NE POURRAS PAS SATISFAIRE TOUT LE MONDE, surtout si ton site est visité mondialement !!!

Ton site est GRATUIT d'accès, tu y as passé des dizaines (une dizaine de dizaines, peut-être) d'heures, et tu t'entends dire que tu pousses les hauts cris parce que tu as la gentillesse (rare, je crois) de dire à 2 % de tes visiteurs qu'il y aura peut-être quelques petits ennuis pour eux par ci par là !!!!

(En fait, j'ai vérifié car ce n'était plus très clair dans mon esprit, 98 % est accessible à tout le monde; seule la page "couples" est inactive - et je n'ai trouvé aucune solution hors JS ...)

Posté

Les smileys, je les tape directement au clavier parce qu'à la base un smiley c'est de l'ASCII Art.

Quant au fait qu'Invision ait une bonne dégradation du Javascript ou non, c'est à Invision qu'il faut poser la question, pas au Hub.

Si ce sujet doit continuer à parler de PHP, il reste. Sinon, pour les questions d'accessibilité, ou pour le Javascript c'est dans la section adéquate.

À noter que les attaques personnelles à l'ironie à peine voilée ne sont tolérées dans aucune des sections.

Merci.

PS: 12%, je persiste.

Posté (modifié)

bonjour

Loin de moi l'idée de polémique, mais je suis ce sujet depuis le début et je voudrais donner mon avis et faire part de mes sentiments sur quelques points.

1 D'abord pour donner une réponse qui me semble la plus pertinente à Nadar, je ne vois pas l'intérêt qu'il y a, compte tenu du peu de volume (en octets) que les liens de sa faq reçoivent en réponse, de solliciter à chaque fois un échange avec le serveur. Il me semble qu'économiser la bande passante fait partie de nos orientations de développeurs. Et j'insiste de nouveau en lui conseillant d'utiliser du Javascript plutôt du'un rappel au serveur. Donc il peut se diriger vers un forum JavaScript pour se faire expliquer une méthode et je peux en MP lui en communiquer une s'il le souhaîte.

2 Lorsque l'on parle d'attaque personnelle j'aimerais que ce ne soit pas le fait d'un modérateur qui ici ne m'a pas paru particulièrement modérer ses interventions et ne s'est pas privé de me rentrer dedans dès son premier message. J'ai le sens de l'humour mais lorsque cela tourne à des attaques de ce genre je le prend pas très bien, d'autant que asséner ensuite dans chacun de ses messages que 12 % de personnes désactivent le javascript sans apporter de lien l'explicant ça ne me va pas. Alors j'ai fait une petite et sommaire recherche avec google :

3 et il apparait que d'après les discours lus ici et là c'est plutôt 10 fois moins et que les 12 % se réfèrent à des robots. D'autant que cette désactivation n'est sûrement pas le fait de monsieur tout le monde qui ignore jusqu'à l'existence de Javascript. Mais je ne suis pas fermé à plus ample démonstration ailleurs que dans ce fil.

4 Je rappelle aussi que ce forum ne se prive pas d'utiliser du javascript et que par conséquent il y a des fonctions inopérantes (voir ci contre à gauche les "smileys cliquables"), et que avec mon navigateur sans javascript pour l'occasion je n'ai pas eu de message m'informant... De même le lien "Mon assistant" ne répond pas...

Voilà , il fallait que ce soit dit et pour ma part le sujet est clos.

bonne journée.

ADT

Modifié par ADT30
Posté

En cas de problème avec quelqu'un il y a les MP aussi ;)

Bon, tant qu'à faire je réponds ici: si tu as mal pris ma remarque certes dans ce cas excuse-moi mais je vois mal où je t'ai "rentré dedans". Tu étais hors-sujet, c'est un fait.

Quant au Javascript sur le forum, je répète que les plaintes éventuelles sont à adresser à Invision. Pas au Hub.

> Invision

Concernant les 12% non je n'ai pas le lien sous la main, dès que je le retrouve je le donne.

En contrepartie je veux bien le lien qui parle de 1,25% ou 2%, du coup ;)

Tant qu'à parler de réponse pertinente, je parle de Javascript dès mon 2ème message ;)

Ce sujet est fermé.

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...