par
Hermès » 23 févr. 2006, 16:14
Une autre solution qui pourrait marcher sans passer par les frames consisterait à utiliser la session (ou un cookie) et une page de chargement.
Tous tes liens seraient de la forme
Code : Tout sélectionner
<A href="loading.php?page=maPage.php">Mon Lien</A>
<A href="loading.php?page=une autre page">Ma Seconde Page</A>
Le fichier loading.php ne ferait lui que placer ce qu'il reçoit en session et redirigerai vers l'index du site.
$page = $_GET["page"];
$_SESSION["page"] = $page;
header("Location: http://www.monsite.com");
Enfin, la page d'index du site regarderait le contenu du paramètre "page" en session et en fonction chargerait telle ou telle page.
switch ($_SESSION["page"]) {
case "maPage.php" : include("maPage.php"); break;
case "une autre page" : include("maSecondePage.php"); break;
default: include("indexNormal.php");
}
Avec un système basé sur ce principe, étant donné que tout le contenu est chargé à partir de l'index du site en fonction de ce qui se trouve dans une variable de session, ton URL ne changera jamais.
Attention quand même, éviter de faire un chargement qui ne vérifie pas ce qu'il charge :
if ($_SESSION["page"] != "") include ($_SESSION["page"]);
Parce qu'avec un code pareil, l'utilisateur peut accéder à n'importe quel fichier de votre serveur simplement en mettant en URL
Une autre solution qui pourrait marcher sans passer par les frames consisterait à utiliser la session (ou un cookie) et une page de chargement.
Tous tes liens seraient de la forme
[code]<A href="loading.php?page=maPage.php">Mon Lien</A>
<A href="loading.php?page=une autre page">Ma Seconde Page</A>[/code]
Le fichier loading.php ne ferait lui que placer ce qu'il reçoit en session et redirigerai vers l'index du site.
[php]$page = $_GET["page"];
$_SESSION["page"] = $page;
header("Location: http://www.monsite.com");[/php]
Enfin, la page d'index du site regarderait le contenu du paramètre "page" en session et en fonction chargerait telle ou telle page.
[php]switch ($_SESSION["page"]) {
case "maPage.php" : include("maPage.php"); break;
case "une autre page" : include("maSecondePage.php"); break;
default: include("indexNormal.php");
}[/php]
Avec un système basé sur ce principe, étant donné que tout le contenu est chargé à partir de l'index du site en fonction de ce qui se trouve dans une variable de session, ton URL ne changera jamais.
Attention quand même, éviter de faire un chargement qui ne vérifie pas ce qu'il charge :
[php]if ($_SESSION["page"] != "") include ($_SESSION["page"]);[/php]
Parce qu'avec un code pareil, l'utilisateur peut accéder à n'importe quel fichier de votre serveur simplement en mettant en URL [quote]http://www.monSite.com/loading.php?page=leFichierQueJeVeux[/quote]