Page 1 sur 1

Utilisation de includ()

Posté : 15 janv. 2006, 22:43
par phpdog
Bonjour à tous :wink:

J’ai une lacune à propos de la fonction includ() que j’aimerai combler, j’ai utiliser le tutorial de se lien:
http://www.phpdebutant.org/article68.php
Pour créer un fichier index.php qui inclus deux autres pages, un première en haut pour le menu, puis une deuxième juste au dessous pour le corps de la page, voici le code de ma page index.php :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>titre</title>
<link href="Objets/style_lunnatick.css" rel="stylesheet" type="text/css">
<?php
// $_GET['pag'] = 'acceuil.php';
?>
</head>
<body bgcolor="#000000" style="margin:0px" text="#339933" link="#33FF00" vlink="#666666" alink="#666600">
<?php include ("menu.php"); ?> 
<?php include ($_GET['pag']); ?> 
</body>
</html>
J’appelle les pages de mon site à se charger dans <?php include ($_GET['pag']); ?>.
Bon la pas de souci, mais au chargement de la page rien n’est charger dans <?php include ($_GET['pag']); ?>, je voudrai que la page d’acceuil le soit automatiquement, j’ai pensser a ajouter une variable, celle que j’ai désactiver dans le code ci-dessus, si je l’active la page d’acceuil s’y charge automatiquement mais les lien ne fonctionne plus.
Quelqu’un saurait-il m’aider ?

Posté : 15 janv. 2006, 22:48
par DocType
Premièrement, tout cela n'est poas securisé...tout le monde poura ajouter la page qu'il souhaite !
Ensuite, pour vérifier et intégrer une page, fais un isset:
if (isset($_GET['pag']))
{
include($_GET['pag']);
}
else
{
include(ma_page_index);
}
Enfin, je serais toi, je me dirigerais vers une structure contrôlée de type "switch"...cela te permet de spécifier toutes les pages pouvant être incluses :wink:

Posté : 15 janv. 2006, 22:57
par phpdog
Comme ceci pour le switch ?
<?php
  // On définit le tableau contenant les pages autorisées
  // ----------------------------------------------------
  $pageOK = array('accueil' => 'accueil.php'
				  'menuDynamq' => 'menuDynamq.php');

  // On teste que le paramètre d'url existe et qu'il est bien autorisé
  // -----------------------------------------------------------------
  if ( (isset($_GET['pag'])) && (isset($pageOK[$_GET['pag']])) ) {
    include($pageOK[$_GET['pag']]);   // Nous appelons le contenu central de la page
  } else {
    include('accueil.php');   // Page par défaut quant elle n'existe pas dans le tableau
  }
?>
Chez moi avec ce code les liens ne fonctionnent plus :cry:

Posté : 15 janv. 2006, 23:28
par Cyrano
Exemple fonctionnel :
<?php
/* On récupère le paramètre : s'il n'y en a pas, on met une valeur par défaut */
$page = isset($_GET['page']) ? $_GET['page'] : "accueil";

/* On définit le fichier à inclure selon le paramètre défini */
switch ($page)
{
    case "contact" : 
        $fichier = "./contact.php";
        break;
    case "accueil" :
    default:
        $fichier = "./index.php";
}
/* On inclut la page choisie */
include_once($fichier);
?>

Posté : 15 janv. 2006, 23:52
par phpdog
Merci encore :wink:

Avace ce code la page d'acceuil par défaut n'est même pas affichier, et le lien ne fonctionnent toujours pas.

Au fait je fait sa sous EasyPhp