Bonjour à tous
J'ai un petit problème le voici
J'ai un fichier index5.php qui fait les include suivant head, header, menu contenant et footer
index5.php
navigation.js
.htaccess
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([a-zA-Z0-9\-]+)$ /includes/$1\.php
Alors de cette façon il me donne mon mon lien dans la barre d'adresse mais efface toute ma page et m'affiche seulement la div contenant mais avant d'effacer ma page je vois qu'il charge comme il se doit mon div contenant et la la recharge sans rien d'autre que ma div contenant
Si j'enlève la lignelocation.href = liens; dans le fichier navigation.js la il m'affiche mon contant très bien dans ma page sauf que dans ma barre d'adresse rien ne change
Si je change dans mon fichier .htaccess la ligne RewriteRule ^([a-zA-Z0-9\-]+)$ /includes/$1\.php pour RewriteRule ^([a-zA-Z0-9\-]+)$ index5.php/includes/$1\.php et que je laisse la ligne location.href = liens; dans mon fichier navigation.js la il change ma barre de navigation pour ce que je demande mais il me fait bien le div contenant et par la suite me recharge la page d'accueil
Ce que je veut c'est que ma div contenant change pour ce que je demande dans mon menu et que mon url m'indique la page demander car je ne vuet pas de barre d'adresse http://www.monsiteweb.com?p=photo je préfère avoir http://www.monsiteweb.com/page/photo
Cela fait quelque jours que je cherche mais la je sais plus quoi faire
Merci de votre aide
Modifié par Integrateur (09 Mar 2010 - 21:17)
J'ai un petit problème le voici
J'ai un fichier index5.php qui fait les include suivant head, header, menu contenant et footer
index5.php
include('includes/head.php');
include('includes/header.php');
include('includes/menu.php');
$d="includes/";
$a="accueil";
$b=".php";
$e="error";
$p=strtolower($_GET['p']);
if(isset($_GET['p'])){
$p=strtolower($_GET['p']);
if(preg_match("/^[a-zA-Z0-9\-]+$/",$p) && file_exists($d.$p.$b)){
include $d.$p.$b;
}
}
else if(isset($_GET['p']) == ""){
include $d.$a.".php";
}
include('includes/footer.php');
navigation.js
$(document).ready(function(){
$("#menu a").click(function(){
var lien = $(this).attr("href");
var page=lien.substring(lien.lastIndexOf("=")+1);
$.ajax({
url:"/includes/"+page+".php",
cache:false,
success:function(html){
liens=page,
afficher(html);
},
error:function(XMLHttpRequest,textStatus,errorThrown){
alert(textStatus);
}
})
return false;
});
});
function afficher(data){
$("#contenant").fadeOut(500,function(){
$("#contenant").empty();
$("#contenant").append(data);
$("#contenant").fadeIn(500);
location.href = liens;
})
}
.htaccess
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([a-zA-Z0-9\-]+)$ /includes/$1\.php
Alors de cette façon il me donne mon mon lien dans la barre d'adresse mais efface toute ma page et m'affiche seulement la div contenant mais avant d'effacer ma page je vois qu'il charge comme il se doit mon div contenant et la la recharge sans rien d'autre que ma div contenant
Si j'enlève la lignelocation.href = liens; dans le fichier navigation.js la il m'affiche mon contant très bien dans ma page sauf que dans ma barre d'adresse rien ne change
Si je change dans mon fichier .htaccess la ligne RewriteRule ^([a-zA-Z0-9\-]+)$ /includes/$1\.php pour RewriteRule ^([a-zA-Z0-9\-]+)$ index5.php/includes/$1\.php et que je laisse la ligne location.href = liens; dans mon fichier navigation.js la il change ma barre de navigation pour ce que je demande mais il me fait bien le div contenant et par la suite me recharge la page d'accueil
Ce que je veut c'est que ma div contenant change pour ce que je demande dans mon menu et que mon url m'indique la page demander car je ne vuet pas de barre d'adresse http://www.monsiteweb.com?p=photo je préfère avoir http://www.monsiteweb.com/page/photo
Cela fait quelque jours que je cherche mais la je sais plus quoi faire
Merci de votre aide
Modifié par Integrateur (09 Mar 2010 - 21:17)