Include

Résolu
annemarie1 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   -  
annemarie1 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j ai fait une page index avec des includes
<?php include('header.inc.php'); ?>

une partie du fichiers

<table width="1028" height="780" border="0" cellpadding="0" cellspacing="0" class="style1">
<tr>
<td width="167" rowspan="3" align="center" valign="top" bgcolor="#f0f0f0"><p>Dernieres mises à jour le 17-Jui-2008 12:13</p>
<p> </p>
<h1> </h1> </td>
<td width="688" rowspan="3" align="center" valign="top"><h1>
<?php
if ($_GET['page'] == "page1")
{
include("page1.php");
}

if ($_GET['page'] == "page2")
{
include("page2.php");
}

if ($_GET['page'] == "musique")
{
include("musique.php");
}

?>
</h1>
<p align="center">POUR UN COURS GRATUITS CLIQUEZ<a href="contact_message1.php"> ICI</a><a href="formulaire_coursb.php"></a></p>
<p align="center">en construction ......merci</p>
<p align="center"><br>
<br>
</p>
<p></p> <br> </td>
<td width="173" rowspan="3" align="center" valign="top"><?php include('menu.inc.php'); ?></td>
</table>
mais je voudrai que ce qu'il y a apres </h1>disparaisse bien sur a l 'appel de l include et je ne sais pas comment faire
pourriez vous m aider s il vous plait
merci de votre ecoute

8 réponses

pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
Salut,

Tu mets un else après tous tes if, avant de fermer la balise PHP, comme ça si tu n'inclues aucune page extérieur, ta page sera affichée, sinon non !

edit : N'oublie pas de fermer l'accolade à la fin de ton fichier :

if ...
if ...
if ...

else
{
?>

code html

<?php
}
?>
0
annemarie1 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention  
 
COMME CA ?


<?php
if ($_GET['page'] == "page1")
{
include("page1.php");
}

if ($_GET['page'] == "page2")
{
include("page2.php");
}

if ($_GET['page'] == "musique")
{
include("musique.php");
}

else
{
?>

</h1>
<p align="center">POUR UN COURS GRATUITS CLIQUEZ<a href="contact_message1.php"> ICI</a><a href="formulaire_coursb.php"></a></p>
<p align="center">en construction ......merci</p>
<p align="center"><br>
<br>
</p>
<p></p> <br> </td>
<td width="173" rowspan="3" align="center" valign="top"><?php include('menu.inc.php'); ?></td>code html

<?php
}
?>
0
macgawel Messages postés 664 Date d'inscription   Statut Membre Dernière intervention   89
 
Non, plutôt comme ça :
<?php
if ($_GET['page'] == "page1") {
include("page1.php");
}
else {
if ($_GET['page'] == "page2") {
include("page2.php");
}
else {
if ($_GET['page'] == "musique") {
include("musique.php");
}
else {
?>
Sans oublier de refermer à la fin...
Mais ce serait plus simple de faire une page accueil.php dans laquelle tu mets le contenu que tu as par défaut.
Ensuite, tu fais :
// Par défaut, on pointe sur l'accueil
$page = "accueil.php"
// On commmence par vérifier qu'on reçoit bien une demande de page
if (isset($_GET['page'])) {
   // On vérifie que la page demandée existe
   if (is_file($_GET['page'].'.php')) {
      $page = $_GET['page'].'.php';
   }
}
include($page);
0
annemarie1 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention  
 
mais c est une partie justement de ma page d acceuil (index)
la voilà j ai essaye de faire comme tu m a dit mait la partie html s affiche toujours
si tu pouvais m aider ca serai vraiment super
merci beaucoup en tout cas de ta reponse dejà

<html>
<head>
<title>Sans titre-2</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="styles_css/style1.css" rel="stylesheet" type="text/css">

<head>
<title>Sans titre-2</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
a:link {
font-family: "Century Gothic";
font-size: 14px;
font-style: normal;
font-weight: normal;
color: #000000;
text-align: center;
text-decoration: none;
}
a:visited {
text-decoration: none;
font-family: "Century Gothic";
color: #000000;
}
a:hover {
font-family: "Century Gothic";
font-size: 12px;
color: #000000;
text-decoration: none;
}
a:active {
font-family: "Century Gothic";
color: #000000;
text-decoration: none;
}
-->
</style>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<?php include('header.inc.php'); ?>




<table width="1028" height="780" border="0" cellpadding="0" cellspacing="0" class="style1">
<tr>
<td width="167" rowspan="3" align="center" valign="top" bgcolor="#f0f0f0"><p>Dernieres mises à jour le 17-Jui-2008 12:13</p>
<p> </p>
<h1> </h1> </td>
<td width="688" rowspan="3" align="center" valign="top"><h1>

<?php
if ($_GET['page'] == "page1")
{
include("page1.php");
}

if ($_GET['page'] == "page2")
{
include("page2.php");
}

if ($_GET['page'] == "musique")
{
include("musique.php");
}
else // {

?>
<body>
</p>
<?php
?>
</h1>
<p align="center">POUR UN COURS GRATUITS CLIQUEZ<a href="contact_message1.php"> ICI</a><a href="formulaire_coursb.php"></a></p>
<p align="center">en construction ......merci</p>
<p align="center"><br>
<br>
</p>
<p></p> <br> </td>
<td width="173" rowspan="3" align="center" valign="top"><?php include('menu.inc.php'); ?></td>
</table>
<!-- End ImageReady Slices -->
</body>
</html>
0
macgawel Messages postés 664 Date d'inscription   Statut Membre Dernière intervention   89
 
mais c est une partie justement de ma page d acceuil (index)
Bon, disons que tu fais une page defaut.php, qui sera la page utilisée par défaut.

Ton else ne sert à rien. Plus précisément, il ne sert pas si on veut la page page1.php ou page2.php.
Tu fais :
SI je demande page1.php
je rajoute le contenu de page1.php
FIN SI // On n'arrête pas le programme, on passe au test suivant
SI je demande page2.php
je rajoute le contenu de page2.php
FIN SI

SI je demande musique.php
je rajoute le contenu de musique.php
SINON // Si j'ai demandé page1.php, je ne demande pas musique.php donc je passe dans le SINON
j'affiche la suite.

A la limite, utilise
<?php
// Switch te permet de faire des choses différentes suivant la valeur de $_GET['page']
// Dans le cas où $_GET['page'] a une des valeurs prévues
// On fait l'include
// Puis on sort du switch
// defaut, c'est ce qui est exécuté par défaut...
switch ($_GET['page']) {
   case 'page1' :
      include('page1.php');
      break;
   case 'page2' :
      include('page2.php');
      break;
   case 'musique' :
      include('musique.php');
      break;
   default :
      ?>
0
annemarie1 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour ta reponse , là je vais me restaurer et j essaierai de suivre tes conseils ce soir

si ca ne marche pas je verrai alors
en tout cas merci encore de ton aide et bonne soirree
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
annemarie1 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention  
 
j ai toujours le meme probleme le texte de la page acceuil reste en bas meme si lorsqu on affiche la page 2 l
peut tu m expliquez pourquoi s il te plait
merci encore desolé je suis des fois un peu lente à la détente
....





<?php include('header.inc.php'); ?>

<table width="1028" height="780" border="0" cellpadding="0" cellspacing="0" class="style1">
<tr>
<td width="167" rowspan="3" align="center" valign="top" bgcolor="#f0f0f0"><p>Dernieres mises à jour le 17-Jui-2008 12:13</p>
<p> </p>
 </td>
<td width="688" rowspan="3" align="center" valign="top">

<?php
// Par défaut, on pointe sur l'accueil
$page = "accueil.php";

if ($_GET['page'] == "page1")
{
include("page1.php");
}

if ($_GET['page'] == "page2")
{
include("page2.php");
}

if ($_GET['page'] == "musique")
{
include("musique.php");
}
else
{
include("accueil.php");

?>

<?php
} // Fin du else
// Fin du code :)
?>

<p></p> <br> </td>
<td width="173" rowspan="3" align="center" valign="top"><?php include('menu.inc.php'); ?></td>
</table>
0
annemarie1 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour,
encore moi , j ai un soucis pour noter correctement la partie ou noté la page par default
j ai essayé plusieurs truc mais apparement pas le bon
pourrez tu m aider ?
merci
0
macgawel Messages postés 664 Date d'inscription   Statut Membre Dernière intervention   89
 
On va détailler ton code quand tu demandes la page2 (commentaires en italique) :

// Par défaut, on pointe sur l'accueil
$page = "accueil.php"; => Tu n'utilises pas ta variable après, elle ne te sers à rien...
if ($_GET['page'] == "page1") => $_GET['page']='page2' donc on passe à la fin du IF. On passe tout ce qui est entre {}
{
include("page1.php");
}

=> On continue ici
if ($_GET['page'] == "page2")=> $_GET['page']='page2' donc on passe dans le IF. On exécute tout ce qui est entre {}
{
include("page2.php"); => $_GET['page']='page2' donc on inclut la page2.php
}

=> On continue ici
if ($_GET['page'] == "musique") => $_GET['page']='page2' donc on passe au else
{
include("musique.php"); => $_GET['page']='page2' donc on ne fait pas l'include
}
else ELSE => les commandes à exécuter si la conditaion du IF est fausse.
Ici, la condition testée, c'est $_GET['page'] == "musique". Comme elle est fausse, on exécute tout ce qui est dans le else

{
include("accueil.php"); <ital> => On inclut la page accueil.php

Ce qu'il faut faire :
Tu as plusieurs solutions.
1. Utilisation de IF ... ELSE "imbriqués" :
SI j'ai demande page2
   Inclure page2.php
SINON
   SI j'ai demandé page3
      Inclure page3
   SINON
      SI j'ai demandé musique
         Inclure musique
      SINON
         Inclure accueil

Tu vois la différence avec ton code ?

2. Utiliser SWITCH CASE
LES STRUCTURES DE CONTROLE : SWITCH
Utilisation : sert à exécuter des blocs d'instruction dépendant de la valeur d'une expression.
Syntaxe : 
switch (expression) {
 case valeur1 : instruction1; instruction2; ... break;
 case valeur2 : instruction3; ... break;
 ...
 default : instruction4; ... }

Si l'expression a la valeur valeur1, on exécute les instruction situées après l'instruction case valeur1 : jusqu'à la fin du bloc switch.
Si elle a la valeur valeur2, on exécute les instructions situées après l'instruction case valeur2 : jusqu'à la fin du bloc switch.,.. 
Si aucune des valeurs ne correspond, on exécute les instructions situées après l'instruction default.
Si l'on ne veut pas exécuter les instructions correspondant aux autres valeurs, on place une instruction break à la fin des instructions à exécuter pour cette valeur.


3. Plus compliqué (entre autres parce qu'il faut sécuriser les données) mais ça te permet de gérer automatiquement les rajouts de pages :
// 1. On définit une page par défaut
$page = 'accueil';

// 2. On regarde si on a demandé une page
if (isset($_GET['page'])) {
//SI on a demandé une page, on regarde si elle existe
   if (file_exists($_GET['page'].'.php')) {
      // SI elle existe, on définit la page demandée
      $page = $_GET['page'];
   }
}

// 3. On inclut la page qui va bien
include($page.'.php');
0
annemarie1 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention  
 
bojour,
je te remercie infiniment ca fonctionne , je vais pouvoir avancé maintenant , merci beaucoup et bonne journée
Anne Marie
0