Vous n'êtes pas identifié(e).
Pages :: 1
bonjour, (je suis débutant en php)
j'ai lu l'article : http://www.phpdebutant.org/article68.php
________________________________________________________________________________________________________
// On définit le tableau contenant les pages autorisées
// ----------------------------------------------------
$pageOK = array('news' => 'news.php',
'accueil' => 'accueil.php');
// On teste que le paramètre d'url existe et qu'il est bien autorisé
// -----------------------------------------------------------------
if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
include($pageOK[$_GET['page']]); // Nous appelons le contenu central de la page
} else {
include('accueil.php'); // Page par défaut quant elle n'existe pas dans le tableau
}
____________________________________________________________________________________________________________
et ma question :
-d'abord : alors il faut vraiment lister tous les liens possible de tout mon site dans $pageOK ??
et si on travaille avec des variables dans le url ?
comment inclurer des variables dans ce code ? c'est possible ?
mon problème : je ne veux pas afficher tous les NEWS -
alors j'appelle seulment les trois premiers et puis j'ai un lien qui va motrer la suite :
<?php
echo '<a href="index.php?page=news.php?debut='.($debut-3).'&compteur='.($compteur-6).'">retour</a>
<a href="index.php?page=news.php?debut='.($debut+3).'&compteur='.$compteur.'">Suite</a>'
?>
je n'arrive pas à mettre ces liens dans $pageOK.....
comment écrire la première partie ? j'imagine que news.php?debut c'est faux ?? (à cause du .php)
________________________________________________________________________________________________________
$pageOK = array('news' => 'news.php',
'news.php?debut='.($debut-3).'&compteur='.($compteur-6).''=>'news.php?debut='.($debut-3).'&compteur='.($compteur-6).'',
'news.php?debut='.($debut+3).'&compteur='.($compteur).'' => 'news.php?debut='.($debut+3).'&compteur='.($compteur).'',
'accueil' => 'accueil.php');
_______________________________________________________________________________________________________
merci beaucoup pour une réponse
maria
Hors ligne
Salut,
Sache d'abord, que lorsque tu fait un include d'un script php, php fait comme un copier/coller du script en lieu et place de l'include.
Donc :
Si tu fait :
Tu remarquera quelques modifications par rapport à ton code.
tu vas avoir un URL qui donne (par exemple):
Dans index php le tableau $_GET va donc donner (vérifiable avec print_r($_GET) ) :
Le test :
va être vrai et cela va inclure le script news.php.
Et dans ton script news.php tu peux utiliser les variables $_GET['debut'] et $_GET['compteur'] sans problèmes.
Est-ce plus clair ?
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
salut,
merci beaucoup pour la réponse immédiate !!
c'est génial ! ça marche !!
juste : si je teste avec :<? print_r($_GET['page']);?> il affiche toujours seulment : news et non pas : news&debut=1&compteur=3 - c'est normal ??
et je dois alors VRAIMENT lister dans array(page => page.php) TOUS mes liens de mon site ??
merci !
c'était ma première question dans votre forum et je suis bien contente !!!
maria
Hors ligne
avec :
<?php print_r($_GET['page']);?>
il affiche news c'est normal.
tu peux de la même façon afficher $_GET['debut'] et $_GET['compteur']
Tu affichera tout en faisant print_r($_GET); (tout court).
J'ai l'impression que tu n'as pas bien saisie le passage de variable en get...
index.php?page=news&debut=1&compteur=3 se décompose comme suit :
index.php avec page = news et debut = 1 et compteur = 3.
Tu ne dois pas lister tous les liens de ton site mais seulement les pages à inclure.
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
ahh ok ! maintenant j'ai compris ! merci !!
- j'aurais encore une question : j'ai une page : functions.php et je l'inclure dans la page index.php, tout en haut :
<?php
include ("php/functions.php");
?>
je N'ai PAS définit cette page dans le array('news => news.php', .....) mais ça fonctionne .
c'est correct comme ça, non ?
merci encore une fois !
maria
Hors ligne
Tu ne dois définir dans l'array que les pages à inclure venant de l'URL (celles que tu récupère par $_GET) ceci pour contrôler la validité de la page à inclure.
php/functions.php n'as pas à être contrôlé...
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
bonjour, (je suis débutant en php) et je crois avoir bien compris le passage de variable en get. Lorsqu'il s'agit de page fixe le nom de la variable est défini à la création et il est possible de la mémoriser dans l'array. Mais lorsqu'il s'agit de pages qui seront créées selon le besoin comment utiliser le get sans mémoriser la nouvelle variable dans l'array.
j'ai appliqué le script suivant qui fonctionne mais suis je dans la bonne démarche.
$array = array_push_assoc($pageOK, $_GET['page'], 'page_Actualite/'. $_GET['page'].'.htm');
function array_push_assoc($array , $key, $value){
$array[$key] = $value;
return $array ;
}
et un elseif ( (isset($_GET['page'])) && (isset($array[$_GET['page']])) ) {
include($array[$_GET['page']]); // on appelle le contenu central de la page
Merci de vos conseils en espérant avoir été clair.
Hors ligne
Pages :: 1