// aide code Php Get --> ///

Statut
N'est pas ouverte pour d'autres réponses.
D

duRb

ex membre
Bijour j utilise un code pour include une page sur mon site mé j ai un stress pour trouvé le code qui affiche la page de démarrage .. si qqn pourrait m aidé se srait bien gentil :p


<?PHP
$page = $_GET["page"];
if(file_exists($page)){
include($page);
}
?>
<?
if ($page == "news") include("include/loul.php");
?>

.. :roll:
 

Jereck

Α & Ω
Staff
Déjà, pour une question de sécurité, on déconseille d'inclure directement la page passée en paramètre, mais plutot d'utiliser un "flag"

Code:
<?PHP
if (isset ($_GET["page"])){
   $page = $_GET["page"];
}else{
   $page = "main";
}

switch ($page){
case "news":
   include("include/loul.php");
   break;
...
case "main":
default:
   include("include/home.php");
   break;
}
 

_gilles

Elite
Comprend pas trop la question...
 

Calvin80

Respect is key
Daftdj a dit:
Comprend pas trop la question...
bha à mon avis il vbeut juste faire un urlmanager..
Personnellement, je trouve que la solution de Jereck semble la meilleure.. elle permet mme d'intercaler un test de securité à chaque page appelée..

Dans tous les cas, faut surtout pas utiliser le script initial hein !
 

guslinux

Gamerz'ien
Autre Solution de sécurité :

Code:
$Page_Liste = Array('tutu','tata','titit','toto'..........);

if(isset($_GET['page'] && in_array($_GET['page'],$Page_Liste))
              require_once('includes/'.$_GET['page']);
else
              require_once('includes/default.php');
Je préfère ma solution, car en cas d'ajout d'une page, il suffit de l'ajouter dans l'array. Le reste se fait tout seul :D
 

alan

Elite
merci gus!! cool ! c'est mieux comme ca je trouve aussi!! yav une tite erreur chez toi!! (fin ca marchait pas erreur vec ton && (oubli d'une parenthèse ;) apres ce &&)
Code:
$mod_list = Array(
    '1'=>'mode1.php',
    '2'=>'mode2.php',
    '3'=>'mode3.php',
    '4'=>'mode4.php');

$mod = $_GET['mod'];

if(isset( $mod ) && array_key_exists($mod, $mod_list) )
              include_once($mod_list[$mod]);
else {
  include_once('default.php');
}
j'ai edit mon code :)
sinon j'ai un autre page ... ou la j'ai mis un switch pcq dans le case j'ai du code entre 400 100 et 20 lignes .. et ca pls fois en fonction du module... c'est bien comme ca ou tu conseil de reséparer en ss fichiers ... ???
 

guslinux

Gamerz'ien
alan a dit:
merci gus!! cool ! c'est mieux comme ca je trouve aussi!! yav une tite erreur chez toi!! (fin ca marchait pas erreur vec ton && (oubli d'une parenthèse ;) apres ce &&)
Code:
$mod_list = Array(
    '1'=>'mode1.php',
    '2'=>'mode2.php',
    '3'=>'mode3.php',
    '4'=>'mode4.php');

$mod = $_GET['mod'];

if(isset( $mod ) && array_key_exists($mod, $mod_list) )
              include_once($mod_list[$mod]);
else {
  include_once('default.php');
}
j'ai edit mon code :)
sinon j'ai un autre page ... ou la j'ai mis un switch pcq dans le case j'ai du code entre 400 100 et 20 lignes .. et ca pls fois en fonction du module... c'est bien comme ca ou tu conseil de reséparer en ss fichiers ... ???
Perso je trouve que faire passer le module par des chiffres, c'est pas tres parlant ... D'autre part, il est inutile de mettre le $_GET['mod'] dans $mod ... autant travailler direct sur $_GET.

Maintenant pour la gestion de mes modules, j'ai un dossier 'module' et un sous dossier pour chaque module.
Pour aller dans le module je passe en $_GET le nom du dossier. Et si je n'ai pas de $_GET['pg'] defini je prend le fichier 'default.php' du module. J'ai aussi un 'common.php' qui est inclu pour toutes les pages du module.

Pour voyager dans les pages du module je passe un $_GET['pg'].

Tout ce systeme me permet d'éviter de devoir faire des switch interminables !

Rem : J'ai fais en sorte que 'mod' et 'pg' se retrouvent dans une variable de session, ce qui me permet de ne pas toujours repasser le mod quand je reste dans le meme module (je ne sais pas si tout le monde me suit ...).

=> Exemple d'implémentation de ce systeme.
https://gmao.edt-eng.be/ (demo / demo)

PS : Je suis ausis passé au modele objet, concl dans mes pages (pg) j'ai de 2 à 20 lignes
:D
 
1er
OP
D

duRb

ex membre
Mici bcp ..

g opté pr cette solut..

Code:
<?PHP 
if (isset ($_GET["page"])){ 
   $page = $_GET["page"]; 
}else{ 
   $page = "main"; 
} 

switch ($page){ 
case "news": 
   include("include/loul.php"); 
   break; 

switch ($page){ 
case "wars": 
   include("include/lol.php"); 
   break; 

case "main": 
default: 
   include("include/home.php"); 
   break; 
}
?>
:)
 

Jereck

Α & Ω
Staff
*fier*

Mais tu ne dois pas remettre ton " switch ($page){ " sinon tu aura une erreur ;)
 
1er
OP
D

duRb

ex membre
Jereck a dit:
*fier*

Mais tu ne dois pas remettre ton " switch ($page){ " sinon tu aura une erreur ;)
vi mé c ce que j ai fait me suis trompé en tapant le post

mici qd meme :p
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut