Utilisation de includ()

Eléphant du PHP | 355 Messages

15 janv. 2006, 22:43

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 ?

Mammouth du PHP | 1776 Messages

15 janv. 2006, 22:48

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:

Eléphant du PHP | 355 Messages

15 janv. 2006, 22:57

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:
Modifié en dernier par phpdog le 15 janv. 2006, 23:10, modifié 1 fois.

Mammouth du PHP | 19672 Messages

15 janv. 2006, 23:28

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);
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 355 Messages

15 janv. 2006, 23:52

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