J’ai un probleme en php.
Je n’arrive pas à inclure un fichier…ou plutôt le fichier est inclut mais par contre le reste du code html des autres pages n’est pas executé.
Voici la structure des pages de mon site. Pour info, j’utilise les pseudo-frames.
Page index.php
A l’interieur de cette page, j’inclus (avec la fonction include) les pages :
menu_gauche.inc.php
centre.inc.php
menu_droit.inc.php
header.inc.php
footer.inc.php
balises.inc.php
voici le code de la page index :
Code :<?php
if (!isset ($_SESSION))
{
@session_name("phpsessid");
//empeche d'avoir un id de session visible dans l'url
ini_set("url_rewriter.tags","");
ini_set("session.use_trans_sid", false);
session_start();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml?#34;>
<?php include("includes/balises.inc.php"); ?>
<body>
<div id="conteneur">
<?php
include("includes/header.inc.php");
include("includes/menu_gauche.inc.php");
include("includes/centre.inc.php");
include("includes/menu_droit.inc.php");
?>
<div id="z"></div>
</div>
<div id="footer">
<?php include("includes/footer.inc.php"); ?>
</div>
</body>
</html?#62;
dans la page centre, j’inclus encore une fois les pages que je veux…
voici le code de la page centre.inc.php:
Code :<?php
//page centre.inc.php
if (!isset($_GET["rub"])){$_GET["rub"] = "";}
switch($_GET["rub"])
{
case "offres": include('listeoffres.php'); break; //liste des offres
case "detailoffre": include('detailoffre.php'); break; //detail d'une offre
//lien footer
case "copyright": include('copyright.php'); break;
case "contact": include('contact.php'); break;
case "mentionslegales": include('mentions_legales.php'); break;
case "confidentialite": include('charte.php'); break;
case "plan": include('plan.php'); break;
case "credit": include('credit.php'); break;
default: include('home.php'); break; //page par defaut, accueil
}
?>
jusqu’ici, tout marche
mais quand j’inclus la page erreur.php dans la page detailoffre.php et que je fais exit() ensuite, la page erreur.php s’affiche
mais le code des autres pages qui suivent (menu_droit.inc.php, footer.inc.php) ne s'affiche plus!!!!!
normalement la fonction exit arrete l’execution de la
page courante et non pas sur toutes les pages !!
code de la page detailoffre.php:
Code :
<?php
include("erreur.php");
exit;
?>
EDIT: a la place include(), je souhaiterai faire une redirection en ecrivant un truc comme ca:
header("Location:
http://127.0.0.1/site/index.php?rub=erreur");
mais ca ne marche pas!!
ca me marque "Warning: Cannot modify header information - headers already sent by........"
pourtant je n'ai rien envoyé avant!!!!
help
si qq a une suggestion ca m’aiderait pas mal car je crois que j’ai fais le tour :'(
;)