Bug d'um menu php/mysql
Résolu
Tony Rocky Horror
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
Tony Rocky Horror Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
Tony Rocky Horror Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
je suis en train de développer un site pour des chiens. J'ai un petit bug au niveau de mon menu et je n'arrive pas à resoudre le problème.
Voici les codes:
<!-- mon fichier menu.php-->
<a href="?page=main">Accueil</a>
<ul>
<li>
<a href="?page=elevage">Notre élevage</a>
</li>
<li>
<a href="?page=allemand">Braque Allemand</a>
</li>
<li>
<a href="?page=weimar">Braque Weimar</a>
</li>
<li>
<a href="?page=males">Nos mâles</a>
</li>
<li>
<a href="?page=femelles">Nos femelles</a>
</li>
<li>
<a href="?page=chiots">Nos Chiots</a>
</li>
<li>
<a href="?page=photos">Albums photos</a>
</li>
<li>
<a href="?page=contact">Contact</a>
</li>
<li>
<a href="?page=reservations">Réservations</a>
</li>
<li>
<a href="?page=liens">Liens</a>
</li>
</ul>
</div>
<!--fin menu.php
<?php
/*l' index */
$page="main.php";
if(isset($_GET["page"])){
if($_GET["page"]=="main")
$page="main.php";
else if($_GET["page"]=="contact")
$page="contact.php";
else if($_GET["page"]=="photos")
$page="photos.php";
else if($_GET["page"]=="allemand")
$page="allemand.php";
else if($_GET["page"]=="weimar")
$page="weimar.php";
else if($_GET["page"]=="males")
$page="males.php";
else if($_GET["page"]=="femelles")
$page="femelles.php";
else if($_GET["page"]=="liens")
$page="liens.php";
else if($_GET["page"]=="chiots")
$page="chiots.php";
else if($_GET["page"]=="reservations")
$page="reservations.php";
else if($_GET["page"]=="elevage")
$page="elevage.php";
else
$page="error.php";
}
?>
<body>
<div id="header">
<?php include("./resources/includes/header.php"); ?>
</div>
<div id="menu">
<?php include("./resources/includes/menu.php");?>
</div>
<div id="content">
<?php include("./pages/$page"); ?>
</div>
<div id="footer">
<?php include("./resources/includes/footer.php"); ?>
</div>
</body>
</html>
Le problème est le suivant: chaque fois que je clic sur un lien pour appeler une page, en fait je tombe toujours sur la page d'acceuil, comme si ma boucle if(isset($_GET["page"])){ était ignorée ou ma variable $page valait quoiqu'il en soit "main.php" .
Merci d'avance pour votre aide.
je suis en train de développer un site pour des chiens. J'ai un petit bug au niveau de mon menu et je n'arrive pas à resoudre le problème.
Voici les codes:
<!-- mon fichier menu.php-->
<a href="?page=main">Accueil</a>
<ul>
<li>
<a href="?page=elevage">Notre élevage</a>
</li>
<li>
<a href="?page=allemand">Braque Allemand</a>
</li>
<li>
<a href="?page=weimar">Braque Weimar</a>
</li>
<li>
<a href="?page=males">Nos mâles</a>
</li>
<li>
<a href="?page=femelles">Nos femelles</a>
</li>
<li>
<a href="?page=chiots">Nos Chiots</a>
</li>
<li>
<a href="?page=photos">Albums photos</a>
</li>
<li>
<a href="?page=contact">Contact</a>
</li>
<li>
<a href="?page=reservations">Réservations</a>
</li>
<li>
<a href="?page=liens">Liens</a>
</li>
</ul>
</div>
<!--fin menu.php
<?php
/*l' index */
$page="main.php";
if(isset($_GET["page"])){
if($_GET["page"]=="main")
$page="main.php";
else if($_GET["page"]=="contact")
$page="contact.php";
else if($_GET["page"]=="photos")
$page="photos.php";
else if($_GET["page"]=="allemand")
$page="allemand.php";
else if($_GET["page"]=="weimar")
$page="weimar.php";
else if($_GET["page"]=="males")
$page="males.php";
else if($_GET["page"]=="femelles")
$page="femelles.php";
else if($_GET["page"]=="liens")
$page="liens.php";
else if($_GET["page"]=="chiots")
$page="chiots.php";
else if($_GET["page"]=="reservations")
$page="reservations.php";
else if($_GET["page"]=="elevage")
$page="elevage.php";
else
$page="error.php";
}
?>
<body>
<div id="header">
<?php include("./resources/includes/header.php"); ?>
</div>
<div id="menu">
<?php include("./resources/includes/menu.php");?>
</div>
<div id="content">
<?php include("./pages/$page"); ?>
</div>
<div id="footer">
<?php include("./resources/includes/footer.php"); ?>
</div>
</body>
</html>
Le problème est le suivant: chaque fois que je clic sur un lien pour appeler une page, en fait je tombe toujours sur la page d'acceuil, comme si ma boucle if(isset($_GET["page"])){ était ignorée ou ma variable $page valait quoiqu'il en soit "main.php" .
Merci d'avance pour votre aide.
A voir également:
- Bug d'um menu php/mysql
- Menu déroulant excel - Guide
- Easy php - Télécharger - Divers Web & Internet
- Canon quick menu - Télécharger - Utilitaires
- Mysql community server - Télécharger - Bases de données
- Bug chromecast - Guide
2 réponses
Salut,
Il faut inclure ton html dans le php comme ceci :
<html>
<body>
<?php
/*l' index */
$page="main.php";
if(isset($_GET["page"])){
if($_GET["page"]=="main")
$page="main.php";
else if($_GET["page"]=="contact")
$page="contact.php";
else if($_GET["page"]=="photos")
$page="photos.php";
else if($_GET["page"]=="allemand")
$page="allemand.php";
else if($_GET["page"]=="weimar")
$page="weimar.php";
else if($_GET["page"]=="males")
$page="males.php";
else if($_GET["page"]=="femelles")
$page="femelles.php";
else if($_GET["page"]=="liens")
$page="liens.php";
else if($_GET["page"]=="chiots")
$page="chiots.php";
else if($_GET["page"]=="reservations")
$page="reservations.php";
else if($_GET["page"]=="elevage")
$page="elevage.php";
else
$page="error.php";
}
echo '<a href="?page=main">Accueil</a>
<ul>
<li>
<a href="?page=elevage">Notre élevage</a>
</li>
<li>
<a href="?page=allemand">Braque Allemand</a>
</li>
<li>
<a href="?page=weimar">Braque Weimar</a>
</li>
<li>
<a href="?page=males">Nos mâles</a>
</li>
<li>
<a href="?page=femelles">Nos femelles</a>
</li>
<li>
<a href="?page=chiots">Nos Chiots</a>
</li>
<li>
<a href="?page=photos">Albums photos</a>
</li>
<li>
<a href="?page=contact">Contact</a>
</li>
<li>
<a href="?page=reservations">Réservations</a>
</li>
<li>
<a href="?page=liens">Liens</a>
</li>
</ul>
</div>
<!--fin menu.php';
?>
<body>
<div id="header">
<?php include("./resources/includes/header.php"); ?>
</div>
<div id="menu">
<?php include("./resources/includes/menu.php");?>
</div>
<div id="content">
<?php include("./pages/$page"); ?>
</div>
<div id="footer">
<?php include("./resources/includes/footer.php"); ?>
</div>
</body>
</html>
Il faut inclure ton html dans le php comme ceci :
<html>
<body>
<?php
/*l' index */
$page="main.php";
if(isset($_GET["page"])){
if($_GET["page"]=="main")
$page="main.php";
else if($_GET["page"]=="contact")
$page="contact.php";
else if($_GET["page"]=="photos")
$page="photos.php";
else if($_GET["page"]=="allemand")
$page="allemand.php";
else if($_GET["page"]=="weimar")
$page="weimar.php";
else if($_GET["page"]=="males")
$page="males.php";
else if($_GET["page"]=="femelles")
$page="femelles.php";
else if($_GET["page"]=="liens")
$page="liens.php";
else if($_GET["page"]=="chiots")
$page="chiots.php";
else if($_GET["page"]=="reservations")
$page="reservations.php";
else if($_GET["page"]=="elevage")
$page="elevage.php";
else
$page="error.php";
}
echo '<a href="?page=main">Accueil</a>
<ul>
<li>
<a href="?page=elevage">Notre élevage</a>
</li>
<li>
<a href="?page=allemand">Braque Allemand</a>
</li>
<li>
<a href="?page=weimar">Braque Weimar</a>
</li>
<li>
<a href="?page=males">Nos mâles</a>
</li>
<li>
<a href="?page=femelles">Nos femelles</a>
</li>
<li>
<a href="?page=chiots">Nos Chiots</a>
</li>
<li>
<a href="?page=photos">Albums photos</a>
</li>
<li>
<a href="?page=contact">Contact</a>
</li>
<li>
<a href="?page=reservations">Réservations</a>
</li>
<li>
<a href="?page=liens">Liens</a>
</li>
</ul>
</div>
<!--fin menu.php';
?>
<body>
<div id="header">
<?php include("./resources/includes/header.php"); ?>
</div>
<div id="menu">
<?php include("./resources/includes/menu.php");?>
</div>
<div id="content">
<?php include("./pages/$page"); ?>
</div>
<div id="footer">
<?php include("./resources/includes/footer.php"); ?>
</div>
</body>
</html>
Salut, tu verra que j'ai pas mal bousculé ton code :
j'ai essayé, en creabt le tableau $ressource de simplifié tes conditionnelles et du coup la génération se fait par parcours du tableau et non plus ligne à ligne. Ce sera beaucoup plus simple si tu veux modifier ton menu.
Comme tu te sert d'une session, j'ai mis le nom de la page et le titre dans une variable de session.
Si tu as un soucis de compréhension n'hésites pas.
A+
<?php
include("resources/includes/constants.php");
$ressource['main']['page'] = "main.php";
$ressource['main']['titre'] = MAIN_TITLE;
$ressource['photos']['page'] = "photos.php";
$ressource['photos']['titre'] = MAIN_TITLE." | Album Photos" ;
$ressource['elevage']['page'] = "elevage.php";
$ressource['elevage']['titre'] = MAIN_TITLE." | Notre élevage";
$ressource['contact']['page'] = "contact.php";
$ressource['contact']['titre'] = MAIN_TITLE."| Nous Contacter";
$ressource['braqueAllemand']['page'] = "allemand.php";
$ressource['braqueAllemand']['titre'] = MAIN_TITLE." | Braque Allemand";
$ressource['Weimar']['page'] = "weimar.php";
$ressource['Weimar']['titre'] = MAIN_TITLE." | Braque de Weimar";
$ressource['males']['page'] = "males.php";
$ressource['males']['titre'] = MAIN_TITLE." | nos màles";
$ressource['femelles']['page'] = "femelles.php";
$ressource['femelles']['titre'] = MAIN_TITLE." | nos femelles";
$ressource['chiots']['page'] = "chiots.php";
$ressource['chiots']['titre'] = MAIN_TITLE." | nos chiots";
$ressource['liens']['page'] = "liens.php";
$ressource['liens']['titre'] = MAIN_TITLE." | liens utiles";
$ressource['reservations']['page'] = "reservations.php";
$ressource['reservations']['titre'] = MAIN_TITLE. " | Réservations";
function mapage($ressource){
$_SESSION['page']="main.php";
$_SESSION['titre']=MAIN_TITLE ;
if(isset($_GET["page"])){
$_SESSION['page']=$ressource[$_GET["page"]]['page'];
$_SESSION['titre']=$ressource[$_GET["page"]]['titre'];
}
}
/*
* page index
*/
session_start();
mapage($ressource);
require_once("resources/includes/dbChien.class.php");
$debug= 1; // 0 (release default) : display only bdd error msg
// 1 : display extended bdd error msg
// 2 : 1+ show bdd response and bdd query
$dbChien = new DbChien($debug);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
<?php
echo $_SESSION['titre'];
?>
</title>
<link href="./css/style.css" rel="stylesheet" media="screen" type="text/css" />
<script type="text/javascript" src="./javascript/script.js"></script>
<script type="text/javascript" src="resources/jquery-1.4.3.min.js"></script>
</head>
<body>
<div id="decoMenu">
<img src="./resources/braqueDecoMenu.png" alt="deco" />
</div>
<div id="menuliens">
<h1><img src="./resources/puce.jpg" alt="puce" class="puce" /><a href="?page=main">Accueil</a></h1>
<ul>
<?php
foreach ($ressource as $key => $val) {
echo '<li>
<h1><img src="./resources/puce.jpg" alt="puce" class="puce" /><a href="?page='.$key.'">'.$val['titre'].'</a></h1>
</li> ';
}
echo '</ul>';
?>
<div id="header">
<?php include("./resources/includes/header.php"); ?>
</div>
<div id="content">
<?php include("./pages/".$_SESSION['page']); ?>
</div>
<div id="menu">
<?php include("./resources/includes/menu.php");?>
</div>
<div id="footer">
<?php include("./resources/includes/footer.php"); ?>
</div>
</body>
</html>
j'ai essayé, en creabt le tableau $ressource de simplifié tes conditionnelles et du coup la génération se fait par parcours du tableau et non plus ligne à ligne. Ce sera beaucoup plus simple si tu veux modifier ton menu.
Comme tu te sert d'une session, j'ai mis le nom de la page et le titre dans une variable de session.
Si tu as un soucis de compréhension n'hésites pas.
A+
<?php
include("resources/includes/constants.php");
$ressource['main']['page'] = "main.php";
$ressource['main']['titre'] = MAIN_TITLE;
$ressource['photos']['page'] = "photos.php";
$ressource['photos']['titre'] = MAIN_TITLE." | Album Photos" ;
$ressource['elevage']['page'] = "elevage.php";
$ressource['elevage']['titre'] = MAIN_TITLE." | Notre élevage";
$ressource['contact']['page'] = "contact.php";
$ressource['contact']['titre'] = MAIN_TITLE."| Nous Contacter";
$ressource['braqueAllemand']['page'] = "allemand.php";
$ressource['braqueAllemand']['titre'] = MAIN_TITLE." | Braque Allemand";
$ressource['Weimar']['page'] = "weimar.php";
$ressource['Weimar']['titre'] = MAIN_TITLE." | Braque de Weimar";
$ressource['males']['page'] = "males.php";
$ressource['males']['titre'] = MAIN_TITLE." | nos màles";
$ressource['femelles']['page'] = "femelles.php";
$ressource['femelles']['titre'] = MAIN_TITLE." | nos femelles";
$ressource['chiots']['page'] = "chiots.php";
$ressource['chiots']['titre'] = MAIN_TITLE." | nos chiots";
$ressource['liens']['page'] = "liens.php";
$ressource['liens']['titre'] = MAIN_TITLE." | liens utiles";
$ressource['reservations']['page'] = "reservations.php";
$ressource['reservations']['titre'] = MAIN_TITLE. " | Réservations";
function mapage($ressource){
$_SESSION['page']="main.php";
$_SESSION['titre']=MAIN_TITLE ;
if(isset($_GET["page"])){
$_SESSION['page']=$ressource[$_GET["page"]]['page'];
$_SESSION['titre']=$ressource[$_GET["page"]]['titre'];
}
}
/*
* page index
*/
session_start();
mapage($ressource);
require_once("resources/includes/dbChien.class.php");
$debug= 1; // 0 (release default) : display only bdd error msg
// 1 : display extended bdd error msg
// 2 : 1+ show bdd response and bdd query
$dbChien = new DbChien($debug);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
<?php
echo $_SESSION['titre'];
?>
</title>
<link href="./css/style.css" rel="stylesheet" media="screen" type="text/css" />
<script type="text/javascript" src="./javascript/script.js"></script>
<script type="text/javascript" src="resources/jquery-1.4.3.min.js"></script>
</head>
<body>
<div id="decoMenu">
<img src="./resources/braqueDecoMenu.png" alt="deco" />
</div>
<div id="menuliens">
<h1><img src="./resources/puce.jpg" alt="puce" class="puce" /><a href="?page=main">Accueil</a></h1>
<ul>
<?php
foreach ($ressource as $key => $val) {
echo '<li>
<h1><img src="./resources/puce.jpg" alt="puce" class="puce" /><a href="?page='.$key.'">'.$val['titre'].'</a></h1>
</li> ';
}
echo '</ul>';
?>
<div id="header">
<?php include("./resources/includes/header.php"); ?>
</div>
<div id="content">
<?php include("./pages/".$_SESSION['page']); ?>
</div>
<div id="menu">
<?php include("./resources/includes/menu.php");?>
</div>
<div id="footer">
<?php include("./resources/includes/footer.php"); ?>
</div>
</body>
</html>
Tu as essayé ce que j'ai posté ?
<?php
/*
* page index
*/
session_start();
require_once("resources/includes/dbChien.class.php");
$debug= 1; // 0 (release default) : display only bdd error msg
// 1 : display extended bdd error msg
// 2 : 1+ show bdd response and bdd query
$dbChien = new DbChien($debug);
include("resources/includes/constants.php");
$page="main.php";
if(isset($_GET["page"])){
if($_GET["page"]=="main")
$page="main.php";
else if($_GET["page"]=="contact")
$page="contact.php";
else if($_GET["page"]=="photos")
$page="photos.php";
else if($_GET["page"]=="allemand")
$page="allemand.php";
else if($_GET["page"]=="weimar")
$page="weimar.php";
else if($_GET["page"]=="males")
$page="males.php";
else if($_GET["page"]=="femelles")
$page="femelles.php";
else if($_GET["page"]=="liens")
$page="liens.php";
else if($_GET["page"]=="chiots")
$page="chiots.php";
else if($_GET["page"]=="reservations")
$page="reservations.php";
else if($_GET["page"]=="elevage")
$page="elevage.php";
else
$page="error.php";
}
echo '
<div id="decoMenu">
<img src="./resources/braqueDecoMenu.png" alt="deco" />
</div>
<div id="menuliens">
<h1><img src="./resources/puce.jpg" alt="puce" class="puce" /><a href="?page=main">Accueil</a></h1>
<ul>
<li>
<h1><img src="./resources/puce.jpg" alt="puce" class="puce" /><a href="?page=elevage">Notre élevage</a></h1>
</li>
<li>
<h1><img src="./resources/puce.jpg" alt="puce" class="puce" /><a href="?page=allemand">Braque Allemand</a> </h1>
</li>
<li>
<h1><img src="./resources/puce.jpg" alt="puce" class="puce" /><a href="?page=weimar">Braque Weimar</a></h1>
</li>
<li>
<h1><img src="./resources/puce.jpg" alt="puce" class="puce" /><a href="?page=males">Nos mâles</a></h1>
</li>
<li>
<h1><img src="./resources/puce.jpg" alt="puce" class="puce" /><a href="?page=femelles">Nos femelles</a></h1>
</li>
<li>
<h1><img src="./resources/puce.jpg" alt="puce" class="puce" /><a href="?page=chiots">Nos Chiots</a></h1>
</li>
<li>
<h1><img src="./resources/puce.jpg" alt="puce" class="puce" /><a href="?page=photos">Albums photos</a></h1>
</li>
<li>
<h1><img src="./resources/puce.jpg" alt="puce" class="puce" /><a href="?page=contact">Contact</a></h1>
</li>
<li>
<h1><img src="./resources/puce.jpg" alt="puce" class="puce" /><a href="?page=reservations">Réservations</a> </h1>
</li>
<li>
<h1><img src="./resources/puce.jpg" alt="puce" class="puce" /><a href="?page=liens">Liens</a></h1>
</li>
</ul>
</div>';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
<?php
if($page="main.php")
echo MAIN_TITLE ;
else if($page="photos.php")
echo MAIN_TITLE." | Album Photos";
else if($page="elevage.php")
echo MAIN_TITLE." | Notre élevage";
else if($page="contact.php")
echo MAIN_TITLE."| Nous Contacter";
else if($page="braqueAllemand.php")
echo MAIN_TITLE." | Braque Allemand";
else if($page="Weimar.php")
echo MAIN_TITLE." | Braque de Weimar";
else if($page="males.php")
echo MAIN_TITLE." | nos mâles";
else if($page="femelles.php")
echo MAIN_TITLE." | nos femelles";
else if($page="chiots.php")
echo MAIN_TITLE." | nos chiots";
else if($page="liens.php")
echo MAIN_TITLE." | liens utiles";
else if($page="reservations.php")
echo MAIN_TITLE. " | Réservations";
else
echo MAIN_TITLE;
?>
</title>
<link href="./css/style.css" rel="stylesheet" media="screen" type="text/css" />
<script type="text/javascript" src="./javascript/script.js"></script>
<script type="text/javascript" src="resources/jquery-1.4.3.min.js"></script>
</head>
<body>
<div id="header">
<?php include("./resources/includes/header.php"); ?>
</div>
<div id="content">
<?php include("./pages/$page"); ?>
</div>
<div id="menu">
<?php include("./resources/includes/menu.php");?>
</div>
<div id="footer">
<?php include("./resources/includes/footer.php"); ?>
</div>
</body>
</html>