IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème remplacement frame par include


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 80
    Points : 58
    Points
    58
    Par défaut Problème remplacement frame par include
    Salut à tous !

    Tout d'abord, voici le principe : il s'agit d'un espace perso, autrement dit un utilisateur sur un site avec un compte perso et des fonctionnalités.

    Les possibilités de l'utilisateur sont relatives au lien de mon menu : pour chaque lien une action. Par exemple, le premier lien c'est "visualiser ses informations en cours", donc quand il clique, un tableau apparait au centre avec ses infos !

    Mon problème est donc que cela marchait avec les frames, le tableau apparaissant dans le bloc central de ma page. Mais à présent par le biais des inclusions, cela me renvoi le tableau dans une nouvelle page toute blanche..

    Comment faire pour générer mon tableau au sein de ma partie centrale de la page en cours ?

    Voici comment je fais appel à l'exécution du fichier php qui génère le tableau lors du clic :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    print("<td class='cellule_menuclient'><h5><a href='infosclient.php?param1=".$numctr1."&param2=".$ctract."'>Visualiser les informations</h5></td>");
    Merci de votre aide,

    Peace

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 182
    Points : 178
    Points
    178
    Par défaut
    Bonjour, le fait que tu ais href : implique forcément l'ouverture d'une autre page (même si tu restes dans le même onglet/fenetre)
    utilise plutot la function include. (voir php.net)

    Je suis quasi sur que la page que tu appeles reste blanche car elle ne contient pas de session_start() etc .

    bon debug !

  3. #3
    Invité
    Invité(e)
    Par défaut
    salut,

    le fonctionnement est différent.
    Avec des frames tu as une page globale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ________
    |    |     |
    | p1| p2 |
    |    |     |
    ________
    Quand tu cliques sur p1, la page p2 contenue dans un iframe est mise à jour.

    Sans iframe tu as une seule page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ________
    |            |
    |            |
    |            |
    |________|
    Donc quand tu cliques, tu recharges toute la page.

    Pour donner l'illusion que tu ne recharges que la partie centrale, tu peux sur chaque page inclure le même menu.
    Comme ca à chaque fois que tu charges la page, l'utilisateur à l'impression que seul le contenu central change vu que le menu est toujours le même.

    Si tu ne veux pas recharger toute la page, mais uniquement la partie centrale, il te faut faire appel au sergent Ajax, mais c'est un peu plus compliqué, ya des tutos sur le net pour ca.

    edit : ascii foireux, le texte en balise code est pas avec une police à chasse fixe

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 80
    Points : 58
    Points
    58
    Par défaut
    Okey !!

    Merci pour vos réponses !

    Pour répondre à roduce : effectivement le href implique le chargement d'une nouvelle page, mais il me semblait qu'il y avait un moyen d'indiquer au href où il doit aller.. Avec l'utilisation d'un "target" en indiquant le nom de la div voulu.. Mais j'ai vu tellement de truc que je peux mélanger, et j'arrive par à remettre la main sur ce lien...

    Sinon, je pense que je vais opter pour la première solution de galerien69 : renvoyer toute la structure de la page pour faire croire qu'il n'y a que le cadre central qui bouge. Au passage, j'avais déjà pensé à Ajax, mais je suis restreint au niveau des langages (Php, php, et php )

    Merci à vous en tout cas

    Peace

  5. #5
    Membre actif Avatar de brachior
    Homme Profil pro
    Doctorant
    Inscrit en
    Mai 2011
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2011
    Messages : 190
    Points : 293
    Points
    293
    Par défaut
    Si le contenu des pages ouvertes via ton menu est statique (donc indépendant d'un élément saisie par l'utilisateur) et qu'il n'est pas trop gourmand,
    Tu peux alors jouer avec l'html et le CSS via des div et l'attribut hidden [true/false] ...
    Parce que la solution que tu veux utiliser implique un cout conséquent pour le serveur.
    Ton client va à chaque chargement redemander toute la page au serveur (bannière, menu, pied de page, ...)

    J'ai un compte perso chez Free sans y être client,
    Et le débit qu'ils me laissent est vraiment amoindrit ...
    J'utilise donc soit cette méthode soit de l'AJAX
    (en fonction de la quantité de données)

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 80
    Points : 58
    Points
    58
    Par défaut
    Salut brachior !

    Euh, ba en fait les données sont affichés sous forme de tableau.

    Ce tableau est généré directement lors du clic sur le lien, mais l’utilisateur n'a rien besoin de saisir !

    Du coup je pense pas pouvoir utilisé l'astuce d'un élément caché :/ Mais je me doute que l'autre solution est bien gourmande..

    Merci bien pour ta réponse,

    D'ailleurs, j'aimerais utilisé l'ajax mais je suis contraint d'utiliser uniquement php.

    Peace

  7. #7
    Invité
    Invité(e)
    Par défaut
    c'est pas non plus si gourmand que ca.

    Lorsque tu appèles une page du serveur, le navigateur demande le statut des images au serveur. Si les images n'ont pas changé, alors il look dans son cache. Si elles y sont, elles ne sont pas retéléchargées.

    Au final cqui fait mal, c'est de loader la page html (par exemple si elle fait 30ko...), et d'avoir beaucoup de feuilles js/css/images différentes, puisque ca crèe autant de connexions vers le serveur.

  8. #8
    Membre actif Avatar de brachior
    Homme Profil pro
    Doctorant
    Inscrit en
    Mai 2011
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2011
    Messages : 190
    Points : 293
    Points
    293
    Par défaut
    Citation Envoyé par galerien69 Voir le message
    Lorsque tu appèles une page du serveur, le navigateur demande le statut des images au serveur. Si les images n'ont pas changé, alors il look dans son cache. Si elles y sont, elles ne sont pas retéléchargées.
    Dans le cas où ton browser est suffisamment intelligent, oui il ne téléchargera pas les images une seconde fois.
    Mais il fera tout de même un appel pour chaque élément trouvé (favicon, image, css, ... ...)

    Citation Envoyé par galerien69 Voir le message
    Au final cqui fait mal, c'est de loader la page html (par exemple si elle fait 30ko...), et d'avoir beaucoup de feuilles js/css/images différentes, puisque ca crèe autant de connexions vers le serveur.
    Je parle plus d'une surcharge niveau nombre de requêtes que de la taille demandée (même si elle joue un rôle aussi ^^)
    D'ailleurs (pas forcement sur le bon forum ... mais au cas où ^^)
    Google préconise de mettre les appels JS en fin de fichier pour optimiser le chargement ... Vrai ou faux ? Et pourquoi ? Oo

    Citation Envoyé par GarnierFlorian
    D'ailleurs, j'aimerais utilisé l'ajax mais je suis contraint d'utiliser uniquement php.
    Juste pour savoir,
    Quel est le nom de cet hébergeur pour que jamais je n'y aille ^^
    C'est tout de même bizarre qu'il n'accepte pas le JavaScript Oo

  9. #9
    Invité
    Invité(e)
    Par défaut
    Lorsque tu load un js, tu es bloquant. Donc tant que le js est pas loadé, pas de page.
    Si tu mets le js en fin de page, tu peux au moins voir ta page...

    Pour cqui est de la diminution du nombre de requêtes, on peut spriter les images, et fusionner les js séparés en un unique js.

    Jai vu que yavait aussi moyen de loader les js en asynchrone. Sur ce forum je crois. Donc au final charger le js après le dom bof bof.

  10. #10
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 80
    Points : 58
    Points
    58
    Par défaut
    Salut !

    tout d'abord pour répondre à brachior : je ne suis pas contraint par mon hébergeur mais par la personne qui me demande le travail C'est pour pouvoir le modifier si besoin quand je ne serais plus là !

    Ensuite pour rep à galerien69 : je pense que ça ne sera que peu gourmand dans mon cas, puisque je n'utilise que des inclusions de petits fichiers php, je n'ai qu'un seul fichier css et un seul fichiers js(1 seule image pour la bannière). Après, c'est surtout d'utiliser la meilleure méthode qui m'intéresse ?!

    Je ne sais pas si refaire toutes les inclusions pour recréer la page à chaque fois n'est pas un peu lourd quand même :/

Discussions similaires

  1. [vb6] Remplacer les Frames par des PictureBox
    Par Christophe P. dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 10/07/2006, 16h26
  2. Remplacer les frames par un script PHP/javascript
    Par midiweb dans le forum Webdesign & Ergonomie
    Réponses: 4
    Dernier message: 15/06/2006, 15h51
  3. [Conception] Remplacer des frames par du code PHP !!!!
    Par dragonfly dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 07/04/2006, 08h54
  4. [Tableaux] Remplacer les Frame par un tableau?
    Par Malau dans le forum Langage
    Réponses: 3
    Dernier message: 14/01/2006, 16h43
  5. [ASP] include remplacer chemin par variable
    Par damn dans le forum ASP
    Réponses: 3
    Dernier message: 01/10/2004, 15h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo