Probleme Undefined variable sur du PHP

Bonjour,

Je crée mon site web mais je ne comprends pas il m'indique cette erreur :
Notice: Undefined variable: page in C:\EasyPHP5.3.0\www\bc\index.php on line 28
Apres plusieurs recherche sur google je ne parviens pas à comprendre mon erreur.
voici le code :

<div id="page">

<?php
include("themes/header.php");
?>
<div id="conteneur">
<?php
if(isset($page)){
if(!is_numeric($page)){
echo "Erreur page inconnu";
exit;
}
}
switch($page)
{
case'0': include("page/accueil.php");
break;
default: include("page/accueil.php");
break;
}

?>
</div>
</div>

Merci pour votre aide

8 réponses

  1. Salut !

    Ton script ne détecte aucune variable $page, probablement dans ton switch. D'où est-elle sensée venir ? Es-tu certain(e) de l'avoir déclarée ?

    Je te recommande ceci :
    if (isset($page)) {
    	if (!is_numeric($page)) {
    		echo "Erreur page inconnu";
    	} else {
    		switch($page) {
    			case '0': include("page/accueil.php"); break;
    			default : include("page/accueil.php"); break;
    		}
    	}
    }
    

    Note où j'ai placé le switch.

    J'ignore si c'était ce que tu voulais faire, sinon assure-toi que ta variable est déclarée et de préférence, fais une vérification. Un autre if (isset($page)) pourrait être la solution.
    Nommez vos sujets de manière pertinente pour de meilleures chances de réponses !
    Et n'oubliez pas de mettre votre sujet à "Résolu" s'il l'est effectivement ! Tourlou !
    1. d'accord je vais l'essayer mais je copie coller se script ou ???

      a quel endroit sur ma page ?

      merci
      1. désolé mauvais problème je croyais être sur une autre question
        1. salut,

          j'ai modifier un peut mon script.
          enfaite ca viens de ma variable qui n'est pas déclarer car j'ai essayer de mettre cela $page = $_GET['page']; mais biensur comme le lien et www.monsite/index.php ca plante mais quand je mets cela tout marche www.monsite/index.php?page=1

          je vais essayer ton script je te dit si cela marche pour mon utilisation.

          Merci,
          1. Oui c'est un problème courant.
            Au pire, donne seulement une valeur par défaut à $page quand $_GET['page'] n'est pas défini, ça va régler beaucoup de troubles ;-)
        2. pour donner une valeur a $_GET['page'] comment peut on faire pour la prise par défaut.
          1. Le but ne serait pas tant de donner une valeur par défaut à $_GET['page'] mais plus de faire quelque chose comme :
            $page = (isset($_GET['page']) && $_GET['page'] != '' ? $_GET['page'] : 'default_value');
            

            au lieu de juste :
            $page = $_GET['page'];