[Php] la fonction include

Résolu/Fermé
bazzouz Messages postés 363 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 20 juillet 2011 - 28 août 2009 à 18:01
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 - 29 août 2009 à 09:08
Bonjour,
Je voudrais tester la fonction include en passant un paramètre page à la page.

voici mon index.php


<!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></title>
<meta name="keywords" content="" />
<meta name="description" content="" />

</head>
<body>
<div>
<ul>
<li><a href="index.php?page=accueil">accueil</a></li>
<li><a href="index.php?page=entourage">entourage</a></li>

</ul>
</div>

<?php

if($page=='entourage')
{
echo "page d'entourage";

}
else {echo "pas de variable page";}

?>


</body>
</html>



mais, si je clique sur le lien entourage, j'obtien ceci :


accueil
entourage

Notice: Undefined variable: page in C:\Program Files\EasyPHP5.3.0\www\test\index.php on line 24
pas de variable page


Merci de m'aider
A voir également:

7 réponses

giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
28 août 2009 à 18:13
bonsoir,
pourquoi pas

<div>
<ul>
<li><a href="accueil.php">accueil</a></li>
<li><a href="entourage.php">entourage</a></li>

</ul>
</div>
ou alors il faut mettre un switch dans index.php
//syntaxe à vérifier
switch{
case : entourage
include ('entourage.php');
breack;
case accueil
include (accueil.php');
breack;
default:
include (index.php');
breack;
}

ou faire des if
if ($_GET['page']=='entourage') include ('entourage.php');
if ($_GET['page']==accueil) include ('accueil.php');
0
bazzouz Messages postés 363 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 20 juillet 2011 81
28 août 2009 à 18:49
Merci pour la réponse.

j'ai remplacé mon code par ceci :


<body>
<div>
<ul>
<li><a href="index.php?page=accueil">accueil</a></li>
<li><a href="index.php?page=entourage">entourage</a></li>

</ul>
</div>


<?php

if ($_GET['page']=='entourage') include ('entourage.php');
if ($_GET['page']=='accueil') include ('accueil.php');

?>
</body>


ça marche, mais, lorsque je tape dans mon url : http://127.0.0.1/test/index.php

j'obtien ceci :


accueil
entourage

Notice: Undefined index: page in C:\Program Files\EasyPHP5.3.0\www\test\index.php on line 24

Notice: Undefined index: page in C:\Program Files\EasyPHP5.3.0\www\test\index.php on line 25


comment éviter l'affichage des notices ??

Merci
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
28 août 2009 à 18:52
c'est normal puisque $_GET n'est pas initialisé

alors au début faire

if (isset($_GET)){ on fait les if
}
else {
on fait le index;php
}
0
bazzouz Messages postés 363 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 20 juillet 2011 81
28 août 2009 à 19:02
ok, j'ai fais ceci :

<body>
<div>
<ul>
<li><a href="index.php?page=accueil">accueil</a></li>
<li><a href="index.php?page=entourage">entourage</a></li>

</ul>
</div>


<?php
if(isset($_GET))
{
if ($_GET['page']=='entourage') include ('entourage.php');
if ($_GET['page']=='accueil') include ('accueil.php');
}

?>


</body>


mais le même message apparait
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
28 août 2009 à 19:04
alors on fait l'inverse

if (!isset($_GET)) {
on fait l'index
}
else
{
on fait les if
}
0
bazzouz Messages postés 363 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 20 juillet 2011 81
28 août 2009 à 19:09
Enfin, ça marche avec ceci :


<?php
if(!empty($_GET))
{
if ($_GET['page']=='entourage') include ('entourage.php');
if ($_GET['page']=='accueil') include ('accueil.php');
}

?>



mais avec !isset c'est le même problème.

Merci pour tes réponses rapides ;)
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
29 août 2009 à 09:08
oui bien sûr !
0