Page 1 sur 2
$_GET
Posté : 06 janv. 2007, 17:07
par Linkis
Bonjours à tous !!!
J'aimerais savoir comment faire pour inclure 2 conditions dans les fonction $_GET permettant d'obtenir dans une barre d'adresse par exemple :
index.php?page=staff&id=1
Je vous remercie beaucoup d'avance je sais pas si j'ai été clair mais si sa ne l'été pas dites le moi
Bonne année 2007 au passage^^
Posté : 06 janv. 2007, 17:10
par AB
Pas clair du tout;
Explique précisément ce que tu veux faire avec un exemple et ton code suivra
Posté : 06 janv. 2007, 17:16
par Linkis
Par exemple sur mon site actuel disponible
ici
Voici ce que j'ai fait pour inclure les pages dans d'autres avec $_GET :
<?php
$page = $_GET['page'];
if (!$page) {
$number = "4";
include("news/show_news.php");}
elseif (file_exists("pages/$page.htm")) {include("pages/$page.htm");}
elseif (file_exists("pages/$page.php")) {include("pages/$page.php");}
elseif (file_exists("pages/$page.php3")) {include("pages/$page.php3");}
else {include('erreur.htm');}
?>
Et en faite j'ai commencer à faire une partie avec chaque personnages de la série et j'aimerais par exemple mettre une autre variable $_GET avec le nom des personnages.
exemple [url=<?php
$page = $_GET['page'];
if (!$page) {
$number = "4";
include("news/show_news.php");}
elseif (file_exists("pages/$page.htm")) {include("pages/$page.htm");}
elseif (file_exists("pages/$page.php")) {include("pages/$page.php");}
elseif (file_exists("pages/$page.php3")) {include("pages/$page.php3");}
else {include('erreur.htm');}
?>]ici[/url][/code]
Posté : 06 janv. 2007, 17:25
par Truc
Petit souci de copier/ coller pour le lien, non
Regarde
ce tuto pour plus d'explications

Posté : 06 janv. 2007, 17:31
par Linkis
Oups excusez moi voila pour le lien :
http://www.captainaruto.com/?page=personnages
^^"
Sinon j'avais deja vu le lien que vous m'avez montré mais en faites je vois pas du tout comment l'adapter à ce que j'ai fait.
J'ai essayer plusieurs choses mais à chaque fois sa ne marcher pas -_-
Posté : 06 janv. 2007, 17:38
par Truc
tu dois avoir un lien qui ressemble a ceci :
<a href="?page=personnages">
si tu veux faire passer un deuxième paramètre il faut l'ajouter au lien existant séparé par un "&" :
<a href="?page=personnages&perso=naruto">
Tu récupères donc deux variables en GET :
$page = $_GET['page']; // vaut personnages
$perso= $_GET['perso']; // vaut naruto
Une fois que tu as compri passe
sur ce topic pour récupérer les données proprement en évitant d'éventuels messages d'erreurs
Posté : 06 janv. 2007, 17:47
par Linkis
Voila ce que je viens d'essayer :
<?php
$page = $_GET['page'];
$perso= $_GET['perso'];
if (!$page) {
$number = "4";
include("news/show_news.php");}
elseif (file_exists("pages/$page.htm")) {include("pages/$page.htm");}
elseif (file_exists("pages/$page.php")) {include("pages/$page.php");}
elseif (file_exists("pages/$page.php3")) {include("pages/$page.php3");}
elseif (!$perso) {include("pages/personnages/$perso.php");}
else {include('erreur.htm');}
?>
Ensuite j'ai fait un lien comme sa :
<a href="?page=perso&perso=baki">
Mais il ne fait rien il reste sur la page ou il y a la liste des personnages -_-
Posté : 06 janv. 2007, 18:04
par Truc
à quoi correspondent tous les fichiers ?
$page.htm, $page.php...
Effectue des tests d'affichage pour savoir dans quel cas tu te retrouves :
if (!$page)
{
echo "Cas 1";
$number = "4";
include("news/show_news.php");
}
elseif (file_exists("pages/$page.htm"))
{
echo "Cas 2";
include("pages/$page.htm");
}
elseif (file_exists("pages/$page.php"))
{
echo "Cas 3";
include("pages/$page.php");
}
elseif (file_exists("pages/$page.php3"))
{
echo "Cas 4";
include("pages/$page.php3");
}
elseif (!$perso)
{
echo "Cas 5";
include("pages/personnages/$perso.php");
}
else
{
echo "Cas 6";
include('erreur.htm');
}
Posté : 06 janv. 2007, 18:11
par Linkis
En faites chaque pages qui sont incluses sont situer dans un repertoire nomé pages.
Il y en as certaines en html d'autre en php (la ligne pour le php3 ne sert plus d'ailleurs)
C'est pour sa qu'il y a $page.htm, $page.php... Comme sa il inclu la page en htm si elle est en htm et il inclu aussi en php si jamais la page est en php.
(ptêtre qu'il y a des facons plus simple de procédé moi j'ai fait un peu à ma façon^^")
Maintenant j'aimerais que par exemple quand l'adresse c'est
<a href="?page=perso&perso=naruto">
il inclu la page qui se trouve dans le repertoire pages/personnages/naruto.php
Voili voilou en plus clair ce que je cherche à faire

Posté : 06 janv. 2007, 20:24
par fab
Au passage ça m'énerve depuis que je vois le post :p
Il NE faut PAS mélanger les variables aux chaines
au lieu de
file_exists("pages/$page.htm"))
faut
file_exists("pages/".$page.".htm"))
C'est pas obligatoire mais ça évite bien des erreurs
Posté : 06 janv. 2007, 20:33
par Linkis
oups c'est vrai que j'y pense pas toujours à sa comme sa marche que ce soit l'un ou l'autre.
Voila j'ai modifier cette partie j'ai essayer plusieurs trucs mais je n'arrivent toujours pas à faire ce que je veux quelqu'un peut m'aider ?

Posté : 06 janv. 2007, 20:40
par fab
Actuellement ça t'affiche quoi ? erreur non ?
si c'est ça remplace
elseif (!$perso)
{
echo "Cas 5";
include("pages/personnages/$perso.php");
}
par
elseif ($perso)
{
echo "Cas 5";
include("pages/personnages/$perso.php");
}
Car Avant tu demandais que la variable retourne FALSE ( en gros qu'elle n'existe pas pour envisager l'inclusion.
Posté : 06 janv. 2007, 20:44
par Linkis
Jviens d'essailler ce que tu m'a dit mais sa n'a rien changer.
En faites ce qui se passe c'est que lorsque je suis sur la liste des personnages et que je clic sur un lien comme celui-ci : <a href="?page=perso&perso=naruto">
Il reste sur la page perso comme si il ne prennait pas en compte la partie
$perso = $_GET['perso'];
Posté : 06 janv. 2007, 20:48
par Ajoloca
Bonjour,
La meilleur solution dans ses cas c'est d'afficher les variables.
Si la variable contient QQ chose, vérifier que le fichier en question existe.
Posté : 06 janv. 2007, 20:51
par Linkis
Bonjour,
La meilleur solution dans ses cas c'est d'afficher les variables.
Si la variable contient QQ chose, vérifier que le fichier en question existe.
Justement la variable ne contient rien à chaque fois car le fichiers lui est bien sur le serveur.
En faite si on prend la méthide de Truc en verifiant si la variable existe, on est jamais dans le Cas 5.
On reste toujours dans le Cas 3
Pour mieux voir ce qui ce passe vous pouvez faire un essais sur cette page
ici
En cliquant sur le personnage Baki vous verrez que rien ne ce passe
Au passage je souhaitais vous dire merci pour votre aide je trouve ce forum vraiment genial j'aime beaucoup^^
ptite parenthèse 