Probleme Rewriting et session

Nouveau WRInaute
Bonjour à tous,

Voilà j'ai un soucis, je développe un site marchand en php/mysql et pour l'accès aux fiches produits j'utilise l'url rewriting.

Mon htaccess :
Code:
RewriteEngine on
RewriteRule ^produit-([0-9]+)-([0-9]+)-([a-zA-Z]+)-([a-zA-Z]+)-([a-zA-Z]+)\.php$ produit.php?id=$2&cat=$1 [L]

Le rewriting marche bien par exemple je suis sur la page d'accueil ou j'effectue
Code:
<?php session_start();
j'appelle la page produit-15-6-Autres-SONY-PIANO.php et j'accède bien à pa page produit.php?id=6&cat=15

Sur cette page produit je refais un session_start() pour recuperer les variables passées dans la session (email client ...).
Déja sur cette page produit impossible de lire le code source (ou très très long) et si je reclique sur un lien par exemple qui redirige vers la page d'accueil alors cette page met un temps fou à s'afficher (alors que très légère) et fais buguer le navigateur (IE, FIREFOX, OPERA).

Ce qui est marrant c'est que les sessions marchent bien, le rewriting aussi mais apparemment pas les deux en meme temps

C'est très énervant et mon projet prends du retard a cause de ça.

J'espère que quelqu'un pourra m'aiguiller, j'ai déja pas mal arpenter les forums mais sans trouver mon bonheur.

Merci beaucoup de m'avoir attribué un peu de votre temps. :lol:
 
WRInaute accro
Pour eviter ce genre de probleme, j'aurais deja commencer par coder comme ceci :

?id_article=$1&cat_article=$2
id_session
cat_session
....

Ensuite cette syntaxe n'est pas correcte :
Code:
 ^produit-([0-9]+)-([0-9]+)-([a-zA-Z]+)-([a-zA-Z]+)-([a-zA-Z]+)\.php$ produit.php?id=$2&cat=$1 [L]

de cette maniere c'est correcte :

Code:
RewriteRule ^produit-([0-9]+)-([0-9]+)\.php$ produit.php?id=$1&cat=$2 [L]

Puis autant rester dans les normes et mettre une extention html puisque c'est du rewrite:

Code:
RewriteRule ^produit-([0-9]+)-([0-9]+)\.html$ produit.php?id=$1&cat=$2 [L]

ce qui une url de ce type:

produit-25-bonbon.html

Mais bon ca fait desordre la categorie à la fin !!

Mon conseil :
Code:
RewriteRule ^produit-([0-9]+)-([0-9]+)\.html$ produit.php?cat=$1&id=$2 [L]

produit-bonbon-25.html
 
Nouveau WRInaute
Voila c'est ça si j'enleve ce bout de code
Code:
<?php session_start();
if($_SESSION["test"]!="ok"){
	session_destroy();
	header("location: index.php");
}
en haut de ma page produit ca marche.
 
WRInaute accro
Je pense que tu dois avoir une variable en doublon ou une global mal parser. Maintenant je suis pas derriere ton ordi donc je peux pas trop t'aider, mais c'est clair que tu as une coquille quelque part, lol.

Fait des

echo $ma_variable;

pour debuger :wink:
 
Nouveau WRInaute
:roll: Ya de quoi venir timbré, j'ai simplifié les choses:

J'ai un dossier essai avec dedans le .htaccess:
Code:
RewriteEngine on
RewriteRule ^produit-([0-9]+)-([0-9]+)\.html$ produit2.php?cat=$1&id=$2 [L]
Le fichier essai.php
Code:
<?php session_start(); ?>
<html>
<head>
<title>ESSAI</title>
</head>
<body>
<a href="produit-15-6.html">Op</a>
</body>
</html>

et le fichier produit2.php
Code:
<?php session_start(); ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>ESSAI</title>
</head>
<body>
<?php echo $_GET["id"];
echo $_GET["cat"];
echo $_SESSION["test"];
echo $_SESSION["log"];
?>
<a href="essai.php">Accueil</a>
</body>
</html>

Et toujours le meme problème . :evil:
 
WRInaute accro
ouaip, il n'y a rien d'apparent qui puisse générer ton beug

et quand tu listes tes variables de sessions:

Code:
foreach($_SESSION as $key=>$val) { echo $key.'=>'.$val.'<p>';  }

aucun doublon avec tes variables GET ???

Code:
foreach($_GET as $key1=>$val1) { echo $key1.'=>'.$val1.'<p>';  }
 
WRInaute accro
vu le resultat, je pense que tu dois avoir un probleme de declaration de variables plus haut dans ton code.

Si tu galeres encore, contact moi par MP.
 
WRInaute discret
pareil

Bonjour,
j'ai exactement le meme problème
je pense aussi que c situé un niveau du .htacces ... mais variable Session ne reste pas active ... c supre bizare
tu serais pas hébergé chez llord par hasard ?
( je me disais que ca viendrais peut etre de l'hébergeur meme le problème )
tiens moi au courant parceque je m'arrache les cheveux sur ce p*** de problème
Mo
 
Discussions similaires
Haut