Case: switch php souci
Résolu
Noel-barbu
Messages postés
258
Date d'inscription
Statut
Membre
Dernière intervention
-
Noel-barbu Messages postés 258 Date d'inscription Statut Membre Dernière intervention -
Noel-barbu Messages postés 258 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Alors voilà je rencontre un petit souci j'ai créé un site web avec une implantation d'un module qui permet de garder 1 seule ficher PHP et de contenir tout mon site enfin bref les liens se présente sous cette forme :
accueil.php?page=test
accueil.php?page=/*
j'ai un message :
qui indique que la variable ou les variables ne sont pas définie ce qui est logique en somme si je tape n'importe quoi après le = mais, je souhaiterais faire en sorte que rien ne se passe si la variable n'existe pas (je ne sais pas si vous comprenez ce que je veux dire ?
Voilà comment est la page concerner:
Merci pour vos réponses
Alors voilà je rencontre un petit souci j'ai créé un site web avec une implantation d'un module qui permet de garder 1 seule ficher PHP et de contenir tout mon site enfin bref les liens se présente sous cette forme :
accueil.php?page=accueille problème est que quand je tape mettons ceci :
accueil.php?page=test
accueil.php?page=/*
j'ai un message :
Notice: Undefined variable: page_Accueil in C:\Program Files\EasyPHP-DevServer-14.1VC9\data\localweb\site\config\page.php on line 38
qui indique que la variable ou les variables ne sont pas définie ce qui est logique en somme si je tape n'importe quoi après le = mais, je souhaiterais faire en sorte que rien ne se passe si la variable n'existe pas (je ne sais pas si vous comprenez ce que je veux dire ?
Voilà comment est la page concerner:
<?php
include 'script_site.php';
$page=$_GET['page'];
switch ($page){
case 'accueil':
echo $page_accueil;
break;
Case 'contact':
echo $page_contact;
break;
Case 'news-sommaire':
echo $page_news_sommaire;
break;
Case 'prestataire':
echo $page_prestataire;
break;
Case 'mapmonde':
echo $map_monde_prestataire;
break;
Case 'irc':
echo $page_IRC;
break;
Case 'prestation':
echo $page_prestation;
break;
Case 'entreprise':
echo $page_entreprise;
break;
Case 'apropos':
echo $page_apropos;
break;
default :
echo $page_Accueil;
break;
}
?>
Merci pour vos réponses
A voir également:
- Case: switch php souci
- Aller à la ligne dans une case excel - Guide
- Excel case choix multiple - Guide
- Case à cocher excel - Forum MacOS
- Supprimer case à cocher excel - Forum Excel
- Raccourci clavier case à cocher - Forum Clavier
1 réponse
Bonjour,
Le problème est assez simple, si tu tape n'importe quoi après ton =, il ne sera pas dans les "case" du Switch.
Le switch t'affichera donc ce qui se trouve en Default :
Le problème est assez simple, si tu tape n'importe quoi après ton =, il ne sera pas dans les "case" du Switch.
Le switch t'affichera donc ce qui se trouve en Default :
default :Or, c'est cette variable là "$page_Accueil" qui n'existe pas, peut-être une majuscule en trop :)
echo $page_Accueil;
break;
accueil.php?page=test
que le message est apparue ce qui est normale puisque que la variable test n'est pas définie justement je veut faire sorte de filtré après le egale ou qui ne se passe rien même si ont tape n'importe quoi après le =
Tu te trompe de variable non défini en faite :
Je te cite : test n'est pas une variable dans ce cas, mais la valeur de $_GET["page"], il n'y a rien de non défini ici donc.
Le problème se pose avec le Switch, comme tu n'a pas de valeur correspondante avec $_GET["page"], tu passe directement au default qui fais un echo sur , c'est cette variable qui n'existe pas, j'ai supposé qu'une majuscule est en trop, mais si tu n'a pas cette variable, enlève l'echo...
mes variables sont définie dan le fichier script_site.php (j'ai oublie ce détail)
donc ils existent ça ce n'est pas le problème dans le qu'a présent, le problème est de pourvoir faire comprendre que même si je tape n'importe quoi après le égale cela reste de marbre.
peut importe ce qui est taper comme connerie après le égale.
Pour le moment il affiche la variable $page_Accueil, soit le nom de la variable est mauvaise (Majuscules en trop) soit, si tu ne veut rien affiché, tu enlève ton echo.