affichage dans un "contenu"

jadu

Expert
Bonjour, j'ai besoin d'une piqûre :pfff: de rappel mais je ne trouve pas !!!
j'ai fait un site avec des pages comportant
- un header en haut :)
- un menu à gauche dans une bande calibrée :)
- un pied de page en bas. :)
le tout en CSS :love:
Au centre sur la droite, une grande zone définie "#contenu" dans le fichier monstyle.css
Ma question est :
dans le menu que dois-je écrire pour que lorsqu'un choix est fait pour un document, ce document soit affiché dans la zone "contenu" sans avoir à remettre dans le document choisi le header, le menu, le pied de page .

J'espère que je suis assez clair dans ma question :pt1cable: car dans ma tête c'est le bordel :sarcastic:!!!

merci de votre promptitude à me dépanner.
 

jadu

Expert
Hello zeb,
comme zébulon ???

Non, pas en javascript,
en PHP 5 ou HTML 5, avec usage de CSS évidemment !
ça doit être faisable avec des trucs du genre
■ >>>mmmmm.php? text=blabla.htm target "contenu"
Mais en mieux, car ça, ça ne marche pas du tout !!!

une idée de super expert ???

mais pour la piqure ... c'est assez !! merci !
 

zeb

Modérateur
Hello,

Euh, oui, zeb comme Zébulon. On se connaît irl ?

----------

Ben je crois que c'est trop le bordel dans ta tête.
Ou alors tu expliques mal.
Ou encore, je comprends mal.

Admettons un peu des trois.

Or donc, en PHP, donc côté serveur, on se saura pas que menu veut que ne soit rechargé que le document.
Il faudra recharger toute une page.

Mais on est pas obligé de réécrire toute une page !
Enregistre ton menu dans un fichier PHP, ton header dans un autre, et assemble dynamiquement tes pages en incluant les différents éléments stockés dans ces différents fichiers. Les directives PHP sont et .

A te relire, ce que tu demandes ressemble pourtant à de l'Ajax (pas la poudre arrêt-curé ni les héros grecs, non, le truc Javascript côté client pour ne recharger que des bouts de page)
 

jadu

Expert
Oui, zeb !
c'est que j'ai tripatouillé dans l'ajax, au boulot, il y a .... un certain temps disons !:p
Et je croyais qu'on pouvait faire de même avec PHP !!:ange:
Mais non, :no: en fait !
J'en suis revenu à un menu avec des <a href=/textes/txt-php/bof/secret_defense.php>secret défense </a>
et des pages avec des includes ...

mais bon, c'est lourd, vu que je veux mettre des tas de textes !:(
donc créer des pages php pour chaque texte !!!

Je vais passer voir si j'ai encore d'assez bons souvenirs de traitements par une base de données pour .... faire avec MySql et Ajax !!!

remettre les neurones en place, d'abord !:bounce:
 

zeb

Modérateur
Et voilà !
Javascript ? côté client exclusivement.
PHP ? côté serveur exclusivement.

Ajax ? Technique toute pourrie pour tenter de relier interactivement les deux côtés :

On instancie un objet (XHR) capable de répondre à un callback côté client (donc Javascript) et on envoie une requête du client vers le serveur.
Côté serveur, celui-ci parle en interne la langue qu'il veut : PHP, perl, cgi-bin en C, bash, etc. Et il renvoie le résultat de la requête au demandeur dans le langage qui lui convient (par principe XML, bien souvent JSON, et sinon en text simple contenant du (x)HTML c'est pas mal non plus :D ), c'est-à-dire au navigateur qui se rappelle que c'est l'objet XHR qui l'a demandé. L'objet appelle la fonction Javascript de callback et voilà.

Si tu veux que ta fonction de callback change le contenu d'un élément, utilise innerHTML.

Sont bonnes les GROSSES piqûres de rappel ?
 

jadu

Expert
Ajax c'est trop loin ! et en plus c'est nul t'as dit !
Donc je vais revoir tout ça. Mais c'est bientôt Noël, il vaut mieux que je m'y mette darre darre !

innerHTML ... why not ?

ou plutôt un truc du genre :
function ma_fonction_callback()
{
\textes-ok\text.php;
}

//et dans l'appel :
call_user_func('ma_fonction_callback');

Bon, je vais voir ça je te dis !
OK, merci, zeb,de m'avoir poussé dans cette direction !
 

zeb

Modérateur
Quelles précisions concernant AJAX.

Soit un serveur et un client.

Le serveur ne sait rien ou pas grand chose du client et répond bêtement aux requêtes de celui-ci si tant est qu'elles soient correctement écrites. Enfin pas si bêtement, puisqu'en interne, le serveur connaît pleins de langages (PHP, perl, binaine, shell, etc.) et en sortie aussi ((x)HTML/CSS, XML, JSON, texte pur, binaire - les images par exemples, etc.).

Le client doit savoir quoi faire de ce qu'il reçoit. Il a posé la question (requête) il est sensé comprendre la réponse.

Dans le cas d'AJAX, quand une requête est envoyée vers le serveur, celui-ci ne sait pas que c'est AJAX qui demande. Il répond. C'est tout.
C'est donc AJAX qui doit traiter la réponse. Par principe, la requête a demandé une réponse en XML. C'est le X de AJAX. Mais l'usage veut qu'on préfère aujourd'hui JSON voire directement du HTML. (Il faudrait renommer AJAX en AJAJ, voire en AJAH. Mais comme HTML est devenu XHTML - avec un X comme XML, il faudrait renommer AJAX en AJAX :pt1cable: )

Au départ, AJAX est un ActiveX (avec un X pour faire joli) propre à IE et s'appelle XMLHTTP ActiveX. Chez MS on préfère VBScript à tout autre langage de script. (Renommons donc AJAX en ABAX !) Au départ, l'intérêt de ce bousin est de ne pas avoir à recharger complètement une page et ainsi économiser de la bande passante. MS sans le faire exprès bien d'inventer les pages web dynamiques ! Évidemment, tout le monde se précipite. Mozilla inclut un équivalent (pas un ActiveX, merci bien) et le W3C nous pond un draft. Javascript s'impose naturellement comme langage côté client et on cherche des alternatives au XML : eh, si on cherche à économiser de la bande passante, c'est pas avec la structure verbeuse du XML qu'on va faire des miracles !

Ai-je dit que le traitement des réponses pouvait se faire de manière asynchrone ou pas ? (C'est le premier A de AJAX). Et bien retirons donc ce stupide A qui ne sert à rien. Quand au second, c'est celui de And, parce qu'il y a du Javascript ET du [strike]XML[/strike] XHTML. Moi, je préfère abréger and en 'n'. Ça fait plus Rock and Roll !
[:al17000]

Voici donc une toute nouvelle techno pour faire des pages web dynamiques : J'n'X.

--------------

Sérieux s'abstenir :o
 

jadu

Expert
Je vois que le bordel de ma tête n'est pas parti très loin !!!
MDR !



en attendant,



je transforme mes textes html en page php avec les inclusions ad hoc ! comme le capitaine ! ou le poisson !
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 129
Messages
6 717 853
Membres
1 586 373
Dernier membre
https://forum.tomshardwar
Partager cette page
Haut