Pseudos frames

Pseudos frames - PHP - Programmation

Marsh Posté le 15-04-2008 à 21:45:47    

Bonjour,
 
Je suis confronté à un nouveau problème avec les pseudos frames. J'utilise actuellement ce code:
 
<html>
<head>
<title>Les Pseudo Frames</title>
</head>
<body>
<!-- Liens de votre menu -->
<a href="index.php?page=livre">Le livre d'or</a> -  
<a href="index.php?page=liens">Les liens</a> -  
<a href="index.php?page=forum">Le Forum</a>
 
<?Php
switch($page) { // Fonction switch : séléction de la case en fonction de la variable $page
 
case'livre': // Lorsque la variable $page = livre | Rappel : <a href="index.php?page=livre">
include("livredor.php" ); // On inclut la page livredor.php
break; // On stop le déroulement du script ici (jusqu'à la fin du switch )
 
case'liens': // Lorsque la variable $page = liens | Rappel : <a href="index.php?page=liens">
include("liens.html" ); // On inclut la page liens.html
break; // On stop le déroulement du script ici (jusqu'à la fin du switch )
 
case'forum': // Lorsque la variable $page = forum | Rappel : <a href="index.php?page=forum">
include("leforum.php" ); // On inclut la page leforum.php
break; // On stop le déroulement du script ici (jusqu'à la fin du switch )
 
}
?>
 
</body>
</html>

 
J'aimerai savoir, comment faire pour inclure une page, à l'adresse suivante: http://mon_site.??/index.php?test. Je sais inclure une page de cette façon: http://mon_site.??/index.php?test=testun , mais pas de la première. J'ai découvert qu'on pouvait l'inclure de la première façon, en visitant un jeu en ligne.


Message édité par willy54 le 15-04-2008 à 21:47:27
Reply

Marsh Posté le 15-04-2008 à 21:45:47   

Reply

Marsh Posté le 16-04-2008 à 10:24:41    

Je serais curieux de voir ce site de jeu en ligne même si j'ai une petite idée sur le comment
 

Code :
  1. $i=0;
  2. if (is_array($_GET))
  3. {
  4.     while (list($name, $value) = each($_GET))
  5.     {
  6.         $i++;
  7.         if ($i == 1) $page = $name;
  8.     }
  9. }


En théorie $page doit prendre le nom de la 1er variable passée par $_GET, faut testé par contre car je suis pas sur que ca puisse marche sans donner aucune valeur. Maintenant il y a des tas de techniques de navigation, par exemple "index.php" n'est pas utile tu peut faire "www.tonsite.com/?page=forum" ou encore faire une navigation par repertoire "www.tonsite.com/forum/"

Reply

Marsh Posté le 16-04-2008 à 12:42:50    

Salut,
 
Il peut y avoir plusieurs façon de résoudre ton souci :
1) La méthode de masterpsx (je me demande si un foreach ne serait pas préférable du point de vue perf)
2) En utilisant un .htaccess et la réécriture d'url, tu peux réécrire un adresse du type index.php?toto en index.php?page=toto. De mémoire :

Code :
  1. RewriteRule http://mon_site.??/index.php?(.*)$ http://mon_site.??/index.php?page=$1 [NC,QSA]


3) En cherchant directement l'info dans l'url :

Code :
  1. $page = substr($_SERVER['REQUEST_URI'], strpos($_SERVER['REQUEST_URI'], '?') + 1, (false !== strpos($_SERVER['REQUEST_URI'], '&')?strpos($_SERVER['REQUEST_URI'], '&') - strpos($_SERVER['REQUEST_URI'], '?') - 1:strlen($_SERVER['REQUEST_URI'])));


Message édité par Melendril le 16-04-2008 à 12:43:09
Reply

Marsh Posté le 16-04-2008 à 13:02:57    

Effectivement l'URL Rewriting est une solution aussi si ton hébergeur l'autorise mais c'est généralement plutot utilisé pour renommer une page dynamique au format html (ex : www.tonsite.com/news.html au lieu de www.tonsite.com/index.php?page=news) dans le but de faciliter l'indexation du contenu de ton site dans les moteurs de recherche.

Reply

Marsh Posté le 16-04-2008 à 15:00:57    

Merci beaucoup :) Tout fonctionne à merveille.

Reply

Marsh Posté le 16-04-2008 à 15:33:52    


Ni l'un ni l'autre, je simplifie l'explication, je me suis mal exprimé en employant le mot "format html", mais dans la trés grande majorité des cas tu auras la page dynamique renomer en .html (ou htm), je sais bien que ca n'a rien d'obligatoire (j'ai déja expérimenté la chose), j'ai dailleur précisé "c'est généralement plutot utilisé" .
 
Pour l'indexation, le problème viens surtout du nombre de variable passer par l'url, elles sont limitées a 2 (a moins que google a changé ca aussi depuis) ce qui peut empecher une partie du contenue de son site d'être référencé (les pages qui ont des urls a ralonge donc), l'autre atout pour les moteurs de recherche comme tu l'as dis c'est les mots clefs dans l'url, le soucis esthétique est a mon avis mineure et loin d'être la motivation 1er de son utilisation.
 
 

willy54 a écrit :

Merci beaucoup :) Tout fonctionne à merveille.


Tu as utilisé mon bout de code ou l'url rewriting de Melendril ?

Message cité 1 fois
Message édité par masterpsx le 16-04-2008 à 15:37:30
Reply

Marsh Posté le 16-04-2008 à 19:32:59    

masterpsx a écrit :


Ni l'un ni l'autre, je simplifie l'explication, je me suis mal exprimé en employant le mot "format html", mais dans la trés grande majorité des cas tu auras la page dynamique renomer en .html (ou htm), je sais bien que ca n'a rien d'obligatoire (j'ai déja expérimenté la chose), j'ai dailleur précisé "c'est généralement plutot utilisé" .
 
Pour l'indexation, le problème viens surtout du nombre de variable passer par l'url, elles sont limitées a 2 (a moins que google a changé ca aussi depuis) ce qui peut empecher une partie du contenue de son site d'être référencé (les pages qui ont des urls a ralonge donc), l'autre atout pour les moteurs de recherche comme tu l'as dis c'est les mots clefs dans l'url, le soucis esthétique est a mon avis mineure et loin d'être la motivation 1er de son utilisation.
 
 


 

masterpsx a écrit :


Tu as utilisé mon bout de code ou l'url rewriting de Melendril ?


 
Celui de Melendril ;) Merci quand même!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed