Page 1 sur 1

Plusieurs pages en une seule feuille de coding

Posté : 13 avr. 2010, 23:10
par Julii
Bonsoir,
Je débute en php, enfin, presque puisque ça fait un an que je me casse la tête dessus ! =D Mais là, j'ai un problème que je n'arrive vraiment pas à résoudre.

J'aimerais mettre plusieurs pages en une seule feuille de coding. Je sais que c'est possible, mais chez moi ça beugue. Toutes les pages s'affichetn en même temps, ou alors elles ne s'affichent carément pas ! xD Voici le code que j'utilise :
<head>
</head>
 <?php include("layout.php");?> 
 
  <?

@$page=$_GET['page'];
switch($page){

case"page1":?> 
<body>

contenu de la page
  
</body>

<?break;

case"page2":?>  
<body>

contenu de la page
  
</body>

 <?break;
}
?>  
Quelqu'un pourrait-il m'éclaircir... ?

Merci d'avance !!

Re: Plusieurs pages en une seule feuille de coding

Posté : 13 avr. 2010, 23:20
par devlop78
Je ne vois pas ...

mais déjà je te conseille

<?php
break;

car <? est souvent toléré mais n'est pas vraiment valide. Dans php.ini il est tout à fait possible de les désactiver.

Re: Plusieurs pages en une seule feuille de coding

Posté : 13 avr. 2010, 23:29
par visualight
En fait, tu recherche à faire une page qui charge les autres ?

Pour ça il est préférable de travailler avec des includes.
Voici le code qui te permettra de charger des pages dynamiquement.
// On définis le chemin du dossier qui contiens les pages à charger
define('PATH', './mondossier/dossierdespages/');

// On défini le tableau avec le nom des pages (les pages sont ici enregistrées en exemple: mapage.inc.php)
    $tableau = glob(PATH . '*.inc.php');

// On teste si la variable "p" existe dans le tableau
    if (isset($_GET['p']) and in_array(PATH . $_GET['p'] . ".inc.php", $tableau)) {

// La page existe => On crée la variable d'inclusion
        $pageInclude = PATH . $_GET['p'] . '.inc.php';

// Sinon, On crée la variable d'inclusion de  la page par défaut à charger (ici exemple : login.inc.php)
// Donc si on tape: http://www.monsite.com/index.php?p=sfgdsdf  et que "sfgdsdf" n'existe pas comme page physique,
// On charge la page par défaut

    } else {
        $pageInclude = PATH . 'login.pag.php';
    }

// Pour finir, on inclus la page
    include ($pageInclude);

Exemple : Admettons que tu as une page dans le dossier contenant les pages et que cette page s'appelle : test.inc.php
Pour appeler cette page dynamiquement, tu tapes dans la barre d'adresse : tonsite.com/tapage.php?p=test.
Si test n'existe pas il chargera alors la page par défaut qui est par exemple (default.inc.php) donc cela reviens à faire: tonsite.com/tapage.php?p=default

A+
raph

Re: Plusieurs pages en une seule feuille de coding

Posté : 14 avr. 2010, 00:10
par dunbar
Salut,

En partant de ton exemple essaye comme ceci
<head>
</head>
<?php //include 'layout.php' ;

$page = (isset($_GET['page']) ? $_GET['page'] : null);

switch($page)
 {
  case 'page1':

	echo '<body>

	contenu de la page1

	</body>';

 break;
  case 'page2':

	echo '<body>

	contenu de la page2

	</body>';

 break;
 }


echo '<br><a href="page.php?page=page1">Lien page1</a></br>';
echo '<br><a href="page.php?page=page2">Lien page2</a></br>';
?>


Re: Plusieurs pages en une seule feuille de coding

Posté : 16 avr. 2010, 00:16
par Julii
C'est bon, j'ai réussis !!! =D

Merci à tous pour votre précieuse aide !!! xD