Résolu Créer des liens vers des pages en PHP: php?page=...

Solutions (14)
Tags :
  • Index
  • Php
  • Script
  • Programmation
|
Bonjour,


J'ai déjà créer quelque script en PHP, je connais certaine chose dans ce langage, mais je me suis jamais arrêté sur cette question :

comment on créer des liens vers d'autre page pour avoir ce type d'url : index.php?page=accueil.

Je connais la fonction "GET" mais je ne vois pas comment l'utiliser ici.
Si quelqu'un pourrai m'éclaircir sur ce sujet, et la façon d'opérer, pour classer mes pages, par exemple j'ai mes pages :

livredor.php
news.php
accueil.php
...

Lorsque je clique sur un lien je voudrais dans l'url : index.php?page=accueil / news / livredor / ...

Merci de vos réponses.
Contenus similaires
Meilleure solution
partage
|
;) 

Fait un test :

index.php avec ce code :
1. <?php
2. $page = $_GET['page'].'.php';
3. if (file_exists($page)) include_once($page);
4. else include_once('default.php');
5. ?>

ensuite, tu créer dans le meme répertoire accueil.php avec le contenu :

coucou ca va

ensuite, dans l'url tu tape ?page=accueil

et tu va comprendre.
  • Commenter cette solution |
Score
0
òh
òi
|
je rajouterai au passage que $_GET n'est pas une fonction mais une variable de type superglobale.

http://www.php.net/manual/fr/reserved.variables.php





  • Commenter cette réponse |
Score
0
òh
òi
|
je reprend ton post initial "J'ai déjà créer quelque script en PHP" dis moi que c'est pas vrai ?

Car sans être méchant j'ai de fort doute, phpinfo() n'est pas une fonction pour vérifier une url, ensuite, si tu veux avoir index.php?page=accueil.php aulieu de index.php?page=accueil il suffit de faire ceci :

$page = $_GET['page'];
aulieu de :
$page = $_GET['page'].'.php';

donc si tu ne sais meme pas faire ca, reprend le premier chapitre.
http://www.lephpfacile.com/cours/
Je dis ca pour ton bien, pour apprendre les choses dans l'ordre et ainsi eviter de tout mélanger.

Bref, pour ce genre de réponse, je m'arrete la, j'attendrais de ta part des question plus sérieuse :)  (j'entend par la, avec un minimum d'apprentissage), de plus, le php n'est pas vraiment dur à apprendre.
  • Commenter cette réponse |
Score
0
òh
òi
|
J'ai regarder pour la fonction "phpinfo()", mais je ne vois pas comment le mettre en place pour qu'il me vérifie si un lien a été appelé et non entré.

Encore une autre question :

Ma page index.php contiens :

  1. <php
  2. $page = $_GET['page'].'.php';
  3. if (file_exists($page)) include_once($page);
  4. else include_once('accueil.php');
  5. ?>


Quand l'utilisateur va sur cette page pour la première fois il sera redirigé vers : accueil.php , moi je ne veux pas de ce type de lien donc je voudrai avoir : index.php?page=accueil.php. Je ne peux pas mettre directement ce lien car sinon il y aura une erreur.
  • Commenter cette réponse |
Score
0
òh
òi
|
Le plus souvent et le plus recommandé est l'url rewriting mais je dirais chaque chose en son temps, exemple cela te donnera plus tard :

un lien du style /index.php?cible=membre&id_membre=3&nom_membre=macduf
en :
/detail-membre/3-macduf.html


Quand à ta question, la personne doit controler l'appel de la page par : $_SERVER['REQUEST_URI']. afin de savoir si la page à été appeler ou non de la forme : ?action=xxx

cree un phpinfo() et regarde les variable $_SERVER.
  • Commenter cette réponse |
Score
0
òh
òi
|
Ok, merci pour cette information, mais en utilisant cette méthode il y a des avantages, nottament au niveau du dynamisme des pages, par exemple dans l'entête je vais ajouter ceci : <title><?php echo $_GET["page"];?></title>.


Une question, j'ai vu que sur un site, dans leur lien url, il y avais : /index.php?cible=membres et quand je tape dans la barre d'adresse : /membres.php ou .html ou htm , il ne trouve pas la page, moi quand je le fais sur mon site, ça l'affiche, comment fait-on, pour "bloquer" l'accès à la page quand on le tape dans la barre d'adresse?
  • Commenter cette réponse |
Score
0
òh
òi
|
Bonjour,
Faut faire attention avec ce genre de procédé : si la personne qui navigue rentre elle-même le lien, elle peut accéder à des pages dont tu ne voudrais pas que cela soit possible. Si tout ton site ne pose pas de problème, pourquoi pas, mais sache qu'il est très fortement non recommandé de faire ça ....

Exemple :
http://www.monsiteweb.fr/index.php?page=http://www.site...
Alors ton site affichera la page avec, en inclusion, le code de la page_attaque.php ... Cela s'appelle du hacking.

Là on est limite, mais garde cette exemple dans un coin de t^te

Pour ce qui est du lien "?variable=valeur" : il te faut comprendre ça :
Il y a un point d'interrogation donc des valeurs passées en GET et pas de page référent => je prend ma page par défaut comme page référent (= index.php ou index.html ou .... voir configuration du serveur).
Quand tu tape l'adresse de ton site, tu n'est pas obligé de préciser index.html ou autre : C'est parcequ'au niveau du serveur, il est défini par défaut des pages si aucune n'est renseigné.
Donc "?variable=valeur" est la même chose que "index.php?variable=valeur"
  • Commenter cette réponse |
Score
0
òh
òi
|
C'étais juste pour information.
Merci de tes réponses.
  • Commenter cette réponse |
Score
0
òh
òi
|
Je vois pas le probleme, tu peut changer "page" si cela ne te convient pas, par exemple en "p", et a la place de l'include automatique, tu peut te pencher sur un switch.
  • Commenter cette réponse |
Score
0
òh
òi
|
Ok merci j'ai enfin compris...
Juste une dernière chose, si je créer un menu avec un bouton accueil, l'adresse du lien , bien sûr cela fonctionne en mettant : ?page=accueil , mais je trouve ça un peux bizarre , il y a pas une astuce?

(<a href="?page=accueil"><a /> )
  • Commenter cette réponse |
Score
0
òh
òi
|
Je pense que c'est la fatigue....
Mais je ne vois pas comment sa fonctionne, sur ma page exemple.php, j'ai un lien vers ma page d'accueil, je ne veux pas mettre : accueil.php en lien, c'est pour cela que je veux passer par la fonction GET. Je ne comprend pas comment assigner mon lien de ma page d'accueil avec le script sur ma page d'index.
  • Commenter cette réponse |
Score
0
òh
òi
|
/?page=xxx

dans l'exemple de Crazycat c'est $_GET['page'] qui prend la valeur, donc tu dois forcément prendre la variable "page" dans l'url.
  • Commenter cette réponse |
Score
0
òh
òi
|
Merci,

comment le mettre en place, c'est à dire, je créer par exemple ma page : index.php, où je met le script que tu ma donné.
J'ai une page accueil.php; au niveau du lien de mon menu je met quel direction ( <a href="?"<a /> ) pour accéder à ma page?
  • Commenter cette réponse |
Score
0
òh
òi
|
Il faut que ta page index.php ne fasse que des inclusions des autres pages, dans le genre:
  1. <?php
  2. $page = $_GET['page'].'.php';
  3. if (file_exists($page)) include_once($page);
  4. else include_once('default.php');
  5. ?>
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS