Rechercher : dans
Par :

PHP garder header/footer avec les includes

Dernière réponse le 15 oct 2009 à 22:50:02 maverickz, le 15 oct 2009 à 20:45:07 
 Signaler ce message aux modérateurs

Bonjour,

J'ai quelques petits soucis avec certains de mes scripts PHP , je vais d'abord vous exposer celui en rapport avec le titre :-)

J'ai un fichier 'index.php' qui contient le header et le footer de mon site, j'aimerais pouvoir garder ces deux éléments/bannières/images sans devoir les rappeler dans chaque page PHP.


Contenu Index.PHP
----------------------

<?php

include('styles/header.php');

include('func/functions.php');

include('styles/menu.php');
include('styles/body.php');

include('styles/footer.php');



Contenu Menu.php
----------------------

Est inclut dans index.php et est chargé avec le header et le footer, jusque la pas de problème.
Dans ce fichier, pour l'instant, je n'ai crée qu'un seul lien vers login.php

<?php

$login=1;
echo "<a href=styles/body.php?login=$login>Login</a>";

En croyant bien faire pour garder mes bannières, ce lien est donc ré-envoyé vers le body qui lui même s'occupera de faire l'include de "login.php".

Contenu de body.php
-------------------------

<?php

if($_GET['login']) {
$login=$_GET['login'];
include("../users/login.php");
}


Seulement voilà, je pensais qu'inclure le fichier plutôt que d'en faire une redirection me permettrait de garder le header et le footer intact sans devoir les redéclarer, malheureusement ...

Je tombe donc sur une page blanche avec le formulaire de login/pass sans les deux bannières.

Existe t-il un moyen de les de déclarer globalement ces bannières pour tout le site sans devoir faire un "include" pour chaque sous-pages ?


PS : J'ai volontairement pas utilisé de CSS avec des déclarations HTML de type <div class=""> car un graphiste va passer derrière mon travail de programmation.


Merci a vous tous ;-)

Configuration: Intel Q6600 
4GB DDRII 800 
Raid0 2x WD Velociraptor 150 Go 
1x WD 500 Go
GeForce 9800GX2
XP Pro

Meilleures réponses pour « PHP garder header/footer avec les includes » dans :
[PHP] Fonction mail() VoirLa fonction mail() est bloquée chez certains des hébergeurs gratuits pour des raisons de sécurité (afin d'éviter le spam notamment), l'adresse ip de la machine qui a demandé le script sera alors indiquée dans le header 'X-MM-Mail-From-IP'. renseignez...
[PHP] Headers already sent by..... VoirLorsque vous utilisez une fonction PHP qui manipule les en-têtes HTTP comme par exemple: header() setcookie() session_start() Il est important d'utiliser ces fonctions avant d'avoir généré le moindre flux vers le client. A partir du moment où...
PHP - Génération d'images VoirPrérequis PHP permet de créer des images au format GIF à l'aide d'une librairie de fonctions prévue à cet effet. La librairie permettant de créer et manipuler des fichiers graphiques se nomme GD, ainsi, pour pouvoir utiliser ces fonctions il faut...

1

Reivax962, le 15 oct 2009 à 21:49:32
  • +1

Bonjour,

Le mieux est de pointer tes liens sur Index et pas sur Body.
Mets ça dans menu.php (ne change rien d'autre) :

$login=1;
echo "<a href=styles/index.php?login=$login>Login</a>";

Xavier

Répondre à Reivax962

2

maverickz, le 15 oct 2009 à 22:10:25

Hello Xavier,

Merci beaucoup pour ta réponse, sinon tu aurais une idée pourquoi il me mets , je sais j'abuse ^^


Notice: Undefined index: login in C:\Program Files\EasyPHP 2.0b1\www\prog\styles\body.php on line 3

Voilà la ligne : if($_GET['login']) {


Il n'aime pas le $_GET car il n'existe pas de POST dans echo "<a href=index.php?login=$login>Login</a>"; ?


Encore un tout grand merci ;-)

Répondre à maverickz

3

 maverickz, le 15 oct 2009 à 22:50:02

Trouvé, merci ;-)

Répondre à maverickz