[PHP] Variables de session

WRInaute passionné
Je souhaiterais mettre en place un systeme sur drimmo, qui serait une sorte de ciblage regionnal, afin de n'afficher a l'utilisateur que des annonces qui correspondent a sa ville par exemple, et ce sur toutes les pages du site.

Soit je cree un cookie
soit j'utilise une variable de session...

y'a rien d'autre?

pour les variables de session, qq cse me turlupine:

ca met une sorte de variable phpsessid dans l'url
et ca doit aps etre referencé

moi je voudrais une variable de session qui redirige l'utilisateur vers une page specifique.

c'est faisable?
 
WRInaute occasionnel
c ton script qui doit rediriger tes visiteurs selon leurs parametres stockés dans leur session

si tu ne veux pas que le numero de la session apparaisse pour les moteurs de recherche il faudra que tu coupe les sessions quand tu reconnaitra le useragent d'un bot.
 
WRInaute accro
comprends po... ton systeme, c'est pour les utilisateurs enregistrés sur ton site (dans ce cas c'est tres facile, tu sais ou il habite et grace a un cookie par exemple, tu peux cibler) ou bien pour les non-enregistrés ? (géolocalisation)
 
WRInaute passionné
Pourquoi est ce que la variable de session devrait être passée dans l'url?
Je suis en train de faire un site, j'utilise des variables de sessions pour détecter si l'utilisateur s'est déjà connecté, mais je ne passe aucune valeur ou variable dans l'url.
 
WRInaute occasionnel
les sessions (on parle ici des sessions php), sont gérées de 2 manières: le numero de la session est passé soit dans l'url soit dans un cookie , cela etant relatif a la capacité du navigateur utilisé a accepter les cookies: quand le navigateur ne les accepte pas, le numero de session est passé dans l'url, ce qui est le cas de google.

mais google n'aime pas les liens avec des numeros de sessions, d'ou la necessité de couper les sessions lors de son passage.
 
WRInaute passionné
Et à quel type de variable de session correspondes ces lignes :

Code:
session_start();
session_name('test');
session_register('testvar');
 
WRInaute occasionnel
en fait dans le cookie passé ou la variable passée dans l'url , il n'y a que l'identifiant de session, les variables de l'utilisateur ne sont jamais lisibles coté client (a part explicitement ), elles sont stockée sur le disque coté serveur et php utilise le numero d'identifiant de la session pour les associer au client.

en gros ça s'utilise comme ça:

session_start();
$_SESSION["test"]="test";

cette variable pourra ensuite etre récupérée facilement sans avoir a la passer nulle part en cookie ou en argument url:

session_start();
echo $_SESSION["test"];

cette variable serra accessible de cette maniere durant toute la validité de la session

edit: le session_start() n'est utilisé qu'en début de script et une seule fois dans la meme page, il suffit de le retirer quand on detecte google pour desactiver les sessions (evidemment faut faire gaffe a ce que le script fonctionne bien sans les sessions)
 
WRInaute passionné
C'est bien comme cela que je voyais la chose, sans pouvoir l'expliquer aussi bien que toi, je suis un peu nul en PHP. Donc pas de prob d'URL à rallonge.
 
WRInaute passionné
en fait, ce que je voudrais, c'est permettre aux utilisateurs d'avoir des sessions perso (geolocalisation) mais que google ne les calcule pas.

il faudrait que les utilisateurs qui ont une session perso soient redirigés vers une page du styl -www.drimmo.com/index.php?ville=marseille&transaction=location. Pa url rewritting cette page serait indexée dans google.

Mais de la theorie a la pratique

avc les cookies je sais faire, mais pas les sessions
 
WRInaute occasionnel
yannouk a dit:
en fait, ce que je voudrais, c'est permettre aux utilisateurs d'avoir des sessions perso (geolocalisation) mais que google ne les calcule pas.

il faudrait que les utilisateurs qui ont une session perso soient redirigés vers une page du styl -www.drimmo.com/index.php?ville=marseille&transaction=location. Pa url rewritting cette page serait indexée dans google.

Mais de la theorie a la pratique

avc les cookies je sais faire, mais pas les sessions

si tu sais le faire avec des cookies alors fait le... les session c'est juste une autre façon de stocker des informations, personnellement je trouve plus confortable l'utilisation de sessions, mais si toi tu te sent plus a l'aise avec les cookies , a toi de jouer :)

tu stocke la ville en cookie et a chaques fois que tu accede a la page tu considere ce cookie...rien de bien compliqué :)
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut