diving-seller Posté 10 Février 2009 Posté 10 Février 2009 Bonjour , j'aimerais modifier une page de mon site web . La page " description.php" , à son sommet je mettrai des liens ( Lien1 , lien2 , lien3 .... ) qui eux renvoient vers des fichiers contenant des liens en rapport avec le titre de lien1 ou lien2. Par exemple le Lien1 sur Marseille , le lien2 sur paris et ce que je cherche à faire , c'est lorsqu'on clique par exemple sur lien2 , s'affiche sur la page description.php , les liens en rapport avec Paris ( contenu dans un fichier X appelé paris.php par exemple ) Sans modifier le cadre de base , comme ca le visiteur peut toujours cliquer sur les autres liens ( lien1 ... ) Merci de votre aide
Patrick Posté 10 Février 2009 Posté 10 Février 2009 Salut, Une solution pourrait-être l'utilisation des includes. Tu passes en paramètre d'url la page à afficher et tu recharges "description.php" avec la bonne page en include. C'est pas très orthodoxe mais cela devrait fonctionner sans problème. ++ Patrick
diving-seller Posté 10 Février 2009 Auteur Posté 10 Février 2009 (modifié) cela donnerai quoi , je suis vraiment debutant en php .. je me débrouillais un peu mieux ya 3 mois mais depuis que j'ai tout arrêté , la reprise est dure ! $pageaffiche = $_GET['page']; <A href="/description.php?page=Lien1.php">Lien1</A> <?php include("lien1.php"); ?> C'est des idées .. car je suis un peu pommé ----------------------------------------------------------- <a href="description.php?page=lien1">Lien 1</a> <?php include($_GET['page'].'.php'); ?> et cela introduit ma page lien1.php à l'endroit de l'include ? Modifié 10 Février 2009 par diving-seller
Nicolas Posté 10 Février 2009 Posté 10 Février 2009 Oui cela va ajouter ton le code contenu dans le fichier include à l'endroit même ou se trouve la ligne include. Je préfère la 2eme solution ;-) EDIT : Pour la sécurité il vaut mieux faire un tableau qui recense toutes les pages qui sont autorisées à être affichées car là n'importe qui peut mettre -http://www.tonsite.com/description.php?page=xxxx avec ce qu'il veut comme valeur xxxx
diving-seller Posté 10 Février 2009 Auteur Posté 10 Février 2009 je vois pourquoi il faut faire un tableau . mais comment je le ferai ? et comment il fonctionnerai en fonction des noms contenus et du nom demandé à afficher
captain_torche Posté 10 Février 2009 Posté 10 Février 2009 Tu peux associer une clé (le nom de la variable) à une valeur (le fichier à inclure). On peut envisager ça comme ça : <?php$tab = array( 'lien1' => 'lien1.php', 'lien2' => 'lien2.php');if(array_key_exists($_GET['page'], $tab)) { include($tab[$_GET['page']]);}?>
diving-seller Posté 11 Février 2009 Auteur Posté 11 Février 2009 (modifié) Petit Edit , cela marche tres bien Maintenant jessaye a ce que la mise en page soit bien . Modifié 11 Février 2009 par diving-seller
captain_torche Posté 11 Février 2009 Posté 11 Février 2009 Non, il faut juste appeler la variable 'test', et non 'test.php'. Ca donne <A href="/description2.php?page=test">test</A>
diving-seller Posté 11 Février 2009 Auteur Posté 11 Février 2009 Merci beaucoup !!!! le code fonctionne parfaitement ! par contre il faudrais rajouter un if ou else , je pense . car la quand le visiteur arrive pour la premiere fois sur la page , il n'y a rien qui est include . j'aimerais include par defaut une page .
captain_torche Posté 11 Février 2009 Posté 11 Février 2009 <?php$page = 'defaut';if(isset($_GET['page'])) $page = $_GET['page'],$tab = array( 'defaut' => 'defaut.php', 'lien2' => 'lien2.php');if(array_key_exists($_GET['page'], $tab)) { include($tab[$_GET['page']]);}?> Ca devrait marcher.
diving-seller Posté 11 Février 2009 Auteur Posté 11 Février 2009 Parse error: syntax error, unexpected ',' in /hom.16/pixel/www/description2.php on line 146 la ligne 146 correspond : $page = $_GET['page'],
captain_torche Posté 11 Février 2009 Posté 11 Février 2009 Ca devrait être simple à corriger, ça. Je te laisse faire
diving-seller Posté 11 Février 2009 Auteur Posté 11 Février 2009 je me sens un peu bete :s mais bon j'essaye de comprendre <?php$page = 'defaut';if(isset($_GET['page'])) // si la variable n'est pas definie $page = $_GET['page'],$tab = array( 'defaut' => 'defaut.php', 'frioul' => 'frioul.php', 'cote-bleue' => 'cote-bleue.php', 'planier' => 'planier.php', 'maire' => 'maire.php', 'jarre-jarron' => 'jarre-jarron.php', 'plane' => 'plane.php', 'riou' => 'riou.php');if(array_key_exists($_GET['page'], $tab)) { include($tab[$_GET['page']]);} probleme avec : $page = $_GET['page'], selon moi ce serait un ; mais cela ne marche pas . puis je me rappelle qu'avec les if il faut { et } mais cela ne marche pas non plus . je me creuse la tete mais ca me revient pas .
captain_torche Posté 11 Février 2009 Posté 11 Février 2009 C'est bien le point-virgule, pourtant. Par contre, j'ai oublié de modifier la fin de la fonction, il faut mettre : if(array_key_exists($page, $tab)) { include($tab[$page]);}?>
diving-seller Posté 11 Février 2009 Auteur Posté 11 Février 2009 Merci beaucoup de ton aide et surtout de ton temps ! +++ Mathias
diving-seller Posté 3 Mars 2009 Auteur Posté 3 Mars 2009 (modifié) Re tout le monde ! Tout marche super bien ! Par contre je me pose la question du référencement . Robotstats a enregistré le passage sur : /description.php?page=radedemarseille Comment mettre des Balises Meta sur la page radedemarseille qui s'include dans description.php . Tout en gardant les Meta de description.php Comme ça il référence comme toujours description.php mais également les autres du même type après le rewrite description-radedemarseille.php Modifié 3 Mars 2009 par diving-seller
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant