8795 sujets

Développement web côté serveur, CMS

Bonsoir à tous,

J'ai une page principale index.php et je voudrais qu'à l'intérieur de cette page se charge une autre page php en cliquant sur un lien de manière à ce que l'url soit toujours monsite.com/index.php. Mes connaissances en php sont très basiques et j'ai pensé à un include commandé par un lien, mais je ne sais pas comment faire.
Tu peux faire comme ça :

Dans ton fichier index.php, tu insères un fichier 'contenu.php' en utilisant
include("contenu.php");


Ton fichier contenu.php te servira à afficher le contenu de tes pages :


//contenu.php
if($page==rubrique1){
    include("rubrique1.php");
}else if($page==rubrique2){
    include("rubrique2.php");
}else if($page==rubrique3){
    include("rubrique3.php");
}else{
    include("rubrique1.php");
}


Et donc pour tes liens dans ta page index.php :
<a href="index.php?page=rubrique1"</a>
//etc...


Dans ta page index.php, n'oublie pas aussi de récupérer la valeur de ta variable $page (au début du script) :
if (isset($_GET['page'])) {
  $page = $_GET['page'];
}else{
  $page = "rubrique1";
}


Et comme les urls ne sont pas très jolies tu peux aussi utiliser l'url rewriting...
Modifié par youbaba (22 Jan 2011 - 15:32)
je crois que c'est exactement ce que je recherche youbaba, merci, mais mes connaissances php étant encore au stade de prémices, j'ai besoin de plus d'info.

J'ai essayé ce que tu m'as dis, mais il me met des erreurs. Je te montre mon code index et mon menu afin que tu puisses voir le contexte et ainsi mieux m'aiguiller.

	<!DOCTYPE html>
	<html lang="fr">
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<meta name="description" content="Coalition du site Hordes.fr "/>
	<link rel="stylesheet" type="text/css" href="style/style.css">
	<link rel="stylesheet" type="text/css" href="style/font.css">
	<link rel="stylesheet" media="all" title="style de la page" href="afficher_cacher_div.css" />
	<script type="text/javascript" src="javascript/afficher_cacher_div.js"></script>
	<!--[if IE]> <link rel="stylesheet" type="text/css" href="style/styleie.css"> <![endif]-->
	

<head>
	<title>Page de notre coalition</title>	
	<a href="#"><div id="header"><table><tr><td>Coalition des chacals miteux</table></div></a>
	<!--[if IE]><?php include('advertie.php'); ?><![endif]-->
</head>
<body>
<div id="corps">
	<div id="left">
		<!--  login  -->	
		<?php include('login.php') ?>
		<?php include('register.php') ?>
		<?php include('profil.php') ?>
		<!--  fin du login  -->
	</div>

	<div id="right">
	<!--  menu  -->
		<?php include('menu.php'); ?>
	<!--  fin du menu  -->
		<?php include('credits.php'); ?>	
	<!-- article -->
		<?php include('article.php'); ?>
		<?php include('article2.php'); ?>
		<?php include('article3.php'); ?>
		<?php include('top.php'); ?>
		
	</div>
		<?php include('footer.php'); ?>
</div>
		
		<?php include('compteur.php'); ?>

</body>


mon menu :

	<div id="dribble">
		<a href="#"><button><img src="images/home_page.png" alt=""/>Acceuil</button></a>
		<a href="#"><button><img src="images/administrator.png" alt=""/>Membres</button></a>
		<a href="#"><button><img src="images/construction.png" alt="" />Menu</button></a>
		<a href="#"><button><img src="images/construction.png" alt="" />Menu</button></a>
		<a href="#"><button><img src="images/construction.png" alt=""/>Menu</button></a>
	</div>


je souhaiterai donc que, lorsque le visiteur clique sur un des liens du menu (qui pour l'instant ne pointe vers rien dutout) s'affiche une des pages de mon choix aux emplacements dans lesquels ils sont maintenant.
Et que quand l'utilisateur se trouve sur la page index, ce soit les 3 articles qui soient visibles.
Je te remercie d'avance
Modifié par Justaman (22 Jan 2011 - 16:16)
Pour que je puisse t'aider il faut bien que je comprenne ce que tu veux.

Donc si j'ai bien compris, tu veux qu'une autre page s'affiche à la place de :

<!-- article --> 
        <?php include('article.php'); ?> 
        <?php include('article2.php'); ?> 
        <?php include('article3.php'); ?> 
        <?php include('top.php'); ?> 


Car tout le reste du code ce sont des parties communes à toutes les pages.

C'est ça ?