8791 sujets

Développement web côté serveur, CMS

Bonjour,

Tout d'abord je tiens à m'excuser si mon message n'est pas posté dans la bonne rubrique, mais c'est celle-là qui colle au mieux (selon moi) à mon problème. Smiley cligne

J'ai un problème avec la navigation dans mon site, système de navigation se basant sur le principe de la fonction [I]include()[/I].

Voici mon code :

<?php

$pageok= array(
    "mot_president"           => "mot_president.php",
    "pourquoi"                => "pourquoi.php",
    "statuts"                 => "statuts.php",
    "adhesion"                => "adhesion.php",
    "contact"                => "divers/contact.php",
    "objectifs"               => "objectifs.php",
    "actions"                 => "actions.php",
    "webmestre"               => "webmestre.php",
    );

	//vérification de la validité du paramètre "page" et de son existance
if ( (isset($_GET['page'])) && (isset($pageok[$_GET['page']])) ) {
    //alors il faut inclure la page...
    include ($pageok[$_GET['page']]);
}
?>


[URL="http://sebdherines.free.fr/ADC/index.php"]Lien vers mon site[/URL]

Comme vous le constaterez, si vous cliquez sur Contact, dans la barre tout en bas, une page s'ouvre bien au millieu. Il n'y a donc pas de problèmes jusque là.

Sauf que lorsque les visiteurs arrivent sur mon site pour la première fois, ils ne doivent pas avoir un espace blanc sans aucuns textes au milieu, mais un petit mot de bienvenue.

Comment puis-je faire, pour que lorsque je vais sur [I]index.php[/I] j'obtienne le message d'accueil, puis lorsque je clique sur [B]Contact[/B] tout se déroule comme maintenant ?
Modifié par seby2027 (16 Aug 2007 - 14:51)
Salut,

tu peux vérifier l'existence de la variable $_GET["page"] et dans le cas où elle n'existe pas tu charges une page par défaut.
Salut seby2027 Smiley cligne ,

comme le dit Ondskapt il faut créer une page par défaut (par exemple accueil.php). Tu peux également gérer le cas des pages inexistantes avec une autre page (page_inexistante.php) pour gérer les erreurs :
<?php
$pageok= array(
    "accueil"			=> "accueil.php",
    "mot_president"		=> "mot_president.php",
    "pourquoi"			=> "pourquoi.php",
    "statuts"			=> "statuts.php",
    "adhesion"			=> "adhesion.php",
    "contact"			=> "divers/contact.php",
    "objectifs"			=> "objectifs.php",
    "actions"			=> "actions.php",
    "webmestre"			=> "webmestre.php",
    );

$page = (isset($_GET['page'])) ? $_GET['page'] : 'accueil';
$page_include = (array_key_exists($page, $pageok)) ? $pageok[$page] : 'page_inexistante.php';
include ($page_include);
?>

A+ Smiley smile

*Edit: en passant, pour que tes balises fonctionnent il faut les mettre en minuscule (url à la place de URL, i à la place de I, etc...) Smiley langue
Modifié par Heyoan (16 Aug 2007 - 13:13)
Je vous remercie tous les deux.
J'ai suivi la première piste, en insérant

else
{
include ("accueil.php");
}


Ce qui me donne exactement le résultat que je cherchais.

Heyoan, concernant les pages inexistantes, en théorie il n'y en aura pas ( Smiley smile )... Et si une personne voulait s'amuser à changer l'URL de la page, elle retomberait sur l'accueil.
Mais je comprends bien l'utilité de ta proposition, que je vais mettre en place dès que j'aurais terminé l'articulation de mes trois autres chapitres Smiley cligne

Encore une fois, un grand merci je vous dis ! Smiley biggrin