8800 sujets

Développement web côté serveur, CMS

Bonjour à tous,
Voila je me lance dans la création d'un site en PHP pour m'exercer à mon nouveau métier.

Je vous explique là ou j'en suis :
Un fichier index.php qui contient mon menu de navigation et un form de connexion qui travaille en ajax et qui renvoie une réponse sans recharger toute la page.
Ça ça marche bien grâce à vous notamment :ccool::ccool:

Je stocke alors dans une variable de session le profil connecté.
J'aimerai alors grâce à cette variable modifier la structure de mon menu.

Sauf que cela ne peut marcher en ce moment vu que sur le clic du bouton de mon form je ne remets à jour qu'une partie de ma page.

Alors je me suis dit :
Faut-il que je fasse un include de mon menu avec un test à l'intérieur pour gérer le contenu ?
MAIS du coup comment recharger aussi cette partie ?

Y a-t-il d'autres approches pour ce genre de choses pas trop compliqué pour un débutant ?

Je ne sais pas trop si j'ai été clair :oops::oops:

Merci de votre aide pour m'aider dans mon mode de pensée.
bonjour
Je suppose que dans ta requête ajax tu ne recharges pas le menu. Donc aucun moyen ni en php ni html pour le mettre à jour. Tu dois le faire en js aussi.
Bonjour,

Vu que tu débutes, je te conseille de prendre tes repères avec la conception classique en PHP (ou autre langage côté serveur) avant de t'attaquer à l'utilisation de JavaScript pour effectuer des requêtes HTTP asynchrones (technique connu sous le nom de "Ajax").

En conception de site web classique, on va:
- Utiliser les fonctionnalités de base de HTML pour les interactions, à savoir les liens hypertexte (élément A avec attribut href pour la destination) et les formulaires (élément FORM avec attribut action pour indiquer quel script va traiter les données).
- Suite à l'activation d'un lien ou d'un formulaire par l'utilisateur, on va générer une page HTML complète avec les éléments communs à toutes les pages (en-tête, pied de page), les éléments communs éventuellement modifiés en fonction de la page appelée (menu avec indicateur visuel de la rubrique en cours), et les contenus spécifiques à la page.

Commence déjà par faire un site propre de cette manière, et tu verras ensuite pour ajouter une surcouche Ajax pour certaines actions, si c'est pertinent. Si tu mélanges tout de suite HTML, JavaScript et PHP tu vas droit dans le mur. Il y a quantité de jeunes développeurs web (débutants, étudiants, candidats à des stages ou à un premier emploi) qui ne maitrisent pas la différence entre les différents langages du web, la différence client/serveur, les notions de base de HTTP, etc. J'imagine que tu ne souhaites pas faire partie de ce lot là. Smiley cligne
Merci pour cette réponse très constructive.

Cette partie m'intéresse particulièrement :
a écrit :
- Suite à l'activation d'un lien ou d'un formulaire par l'utilisateur, on va générer une page HTML complète avec les éléments communs à toutes les pages (en-tête, pied de page), les éléments communs éventuellement modifiés en fonction de la page appelée (menu avec indicateur visuel de la rubrique en cours), et les contenus spécifiques à la page.


Si j'illustre mon propos avec un exemple, cela donnerait cela :
- une page de connexion,
- si connexion ok alors affichage d'une page.
- Cette page aurait une structure simple : pourquoi pas un en-tête, un menu, une partie centrale dont le contenu varie, et un pied de page. Et aussi un fil d'ariane (soyons fou).
- Le menu verrait son contenu varier en fonction du profil connecté. Exemple un menu de plus pour administrateur du site.

J'ai cherché des tuto ou des cours sur cette mise en place, je n'ai pas encore trouvé.
As-tu en tête des endroits ou je pourrais trouver mon bonheur ?

Merci pour tes conseils même si je pense que je vais revenir en arrière ce qui n'est pas grave en soi, bien au contraire. Smiley rolleyes Smiley rolleyes
100% d'accord
Commence par faire fonctionner sans ajouter de couche ajax.

Tu peux envoyer une info à ta page courante via le formulaire.
Du genre index.php?auth=user ou index.php?auth=admin
Et récupère cette variable dans avec _GET ensuite tu fais un test simple de la variable et tu affiches le contenu correspondant.
joska a écrit :
100% d'accord
Commence par faire fonctionner sans ajouter de couche ajax.

Tu peux envoyer une info à ta page courante via le formulaire.
Du genre index.php?auth=user ou index.php?auth=admin
Et récupère cette variable dans avec _GET ensuite tu fais un test simple de la variable et tu affiches le contenu correspondant.


Je vais m'y coller
Je sais requêter avec des variables php, afficher des résultats dans un tableau avec une boucle, passer des infos en session, écrire des liens dynamiques, tester si des variables existent, mais finalement j'ai un peu de mal sur la conception la plus simple : je dois pas être comme il faut Smiley rolleyes Smiley rolleyes

J'avais commencé un projet ambitieux, à la fois graphiquement et technologiquement mais bon...La partie connexion marchait très bien.
C'est quand il a fallu mettre à jour une deuxième page que cela s'est gaté !!!

Bon je vais faire du page à page et on verra bien

Pour des éléments communs, il faut travailler avec des include ?

Merci
Oui et surtout protège le système sinon il suffira d'entrer la bonne url et on accèderait à tout ^^
joska a écrit :
Oui et surtout protège le système sinon il suffira d'entrer la bonne url et on accèderait à tout ^^



Le oui c'est pour la question liée aux include ????

Oui alors là je vais pas m'en faire tout de suite la-dessus
Je travaille en local sur un projet anodin
Alors les failles de sécurité... Smiley rolleyes
Je vais y aller mollo piano
Modifié par iviewclear (12 Jan 2011 - 17:17)
Ok je m'y mets alors

Autre question : quel est le moyen en PHP de dire que l'on veut afficher une page dans une zone particulière de la page principale ?
A ma connaissance il n'y a que Ajax pour faire ça ?
Ou alors vous me recommandez pour le moment de faire du page à page ?

Merci pour votre aide
Tu as un fichiers index avec tes éléments fixes et tu appelles du contenu dans cette pages ?
Ou tu as plusieurs pages qui appellent les éléments fixes avec des include ?

Dans le premier cas il faut que tu envois l'infos comme avec le formulaire.
Tu auras des url de type .index.php?auth=1&page=mapage
joska a écrit :
Tu as un fichiers index avec tes éléments fixes et tu appelles du contenu dans cette pages ?
Ou tu as plusieurs pages qui appellent les éléments fixes avec des include ?

Dans le premier cas il faut que tu envois l'infos comme avec le formulaire.
Tu auras des url de type .index.php?auth=1&page=mapage


Bonjour,

Quelle serait pour toi la meilleure solution pour bien démarrer ?
Sinon oui je sais passer des paramètres dans l'URL mais ne veut-il pas mieux les passer en POST plutôt qu'en GET ?
Et je ne saisis pas bien tes propos quand tu dis :
a écrit :
Dans le premier cas il faut que tu envois l'infos comme avec le formulaire.
Tu auras des url de type .index.php?auth=1&page=mapage
En général on utilise plutôt POST pour les formulaires et GET sert à créer de "fausses" pages selon la variable que tu lui donnes.


Exemple très connu :

http://www.youtube.com/watch?v=hWTFG3J1CP8

et

http://www.youtube.com/watch?v=v4iZ_eQiSTY

Sont strictement la même page, mais le contenu change car la variable v représente un id différent, donc la vidéo, les commentaires, etc., vont changer.



En général quand on fait un site en AJAX, on commence par le faire SANS AJAX puis on mets la couche javascript seulement après, pour être sûr que les 3 pelés qui n'ont pas js puisse quand même voir le site (parmi ces trois pelés il y tout de même certains handicapés de ce que je sais, donc il faut les prendre en compte, et les robots des différents moteurs de recherche à ne pas oublier non plus).


Concernant include(), tout ce que tu as à faire c'est de définir quelles zones de ta page vont changer puis d'include ce qui ne changera pas (menu, footer...).

Dans ce qui change, tu mets ton contenu.

Tu peux déjà partir sur ça même si il est possible de faire les choses de 1000 manières différentes.