Conservation d'une page d'entrée
Le
Yannick VOYEAUD

Bonsoir,
Soit deux pages A et B qui sont deux entrées différentes sur un même site.
Les deux pages appellent la même page 1 qui conduit à 2 jusqu'à n
Comment faire pour que le visiteur qui demande à revenir à la page
d'accueil se retrouve sur la page (A ou B) par laquelle il est arrivé
sur le site?
Merci de me faire des exemples commentés
Amitiés
--
Yannick VOYEAUD
Nul n'a droit au superflu tant que chacun n'a pas son nécessaire
(Camille JOUFFRAY 1841-1924, maire de Vienne)
http://www.voyeaud.org
Soit deux pages A et B qui sont deux entrées différentes sur un même site.
Les deux pages appellent la même page 1 qui conduit à 2 jusqu'à n
Comment faire pour que le visiteur qui demande à revenir à la page
d'accueil se retrouve sur la page (A ou B) par laquelle il est arrivé
sur le site?
Merci de me faire des exemples commentés
Amitiés
--
Yannick VOYEAUD
Nul n'a droit au superflu tant que chacun n'a pas son nécessaire
(Camille JOUFFRAY 1841-1924, maire de Vienne)
http://www.voyeaud.org
En théorie, la page précédente serait la "refer" ou quelque chose du
genre. En pratique, je noterais la page d'entrée dans un cookie si le
cookie est vide.
Denis
fr.comp.lang.php:
Du code assez simple en fait pour le retour à la page précédente.
<?php
echo ' ?>
Pour la 1re page sur le site, ce n'est pas difficile il me semble.
Denis
Bonsoir Denis, (enfin bonjour pour toi)
Merci de ce petit code que je vais approfondir de suite. Mes excuses
pour le retard à la réponse.
Amitiés
--
Yannick VOYEAUD
Nul n'a droit au superflu tant que chacun n'a pas son nécessaire
(Camille JOUFFRAY 1841-1924, maire de Vienne)
http://www.voyeaud.org
Re,
Voici ce que j'ai fais:
Page A et B
## Là où tu veux mettre lien vers la page 1 commune
Page 1
<?php
setcookie('page_arr', $_SERVER['HTTP_REFERER'], (time() +3600 ));
?>
## lien vers la page 2
## lien de retour vers page A ou B selon le cas
<?php
$url2=$_COOKIE["page_arr"];
echo $url2;
echo "<a href="$url2"/>Retour<//a/>";
?>
Page 2 à n
## Lien vers page précédente
Tu sais faire (enfin j'espère)
## lien de retour vers la page d'accueil
<?php
$url2=$_COOKIE["page_arr"];
echo $url2;
echo "<a href="$url2"/>Retour vers page d'accueil<//a/>";
?>
## Lien vers la page suivante
Tu sais faire (enfin j'espère)
Amitiés
--
Yannick VOYEAUD
Nul n'a droit au superflu tant que chacun n'a pas son nécessaire
(Camille JOUFFRAY 1841-1924, maire de Vienne)
http://www.voyeaud.org
plutôt dans page A (ou B) :
setcookie('page_arr', "page-A.php"
Sinon, à la 2e page, on revient à la page 1 et non A ou B
Denis
Bonjour Denis,
Là tu me fais douter car ce que j'ai écris a bien marché dans les tests
$_SERVER['HTTP_REFERER'] enregistre la page d'où tu viens donc c'est
bien cela que l'on cherche.
Le truc c'est que l'on est OBLIGÉ de passer par des cookies du fait que
certains navigateurs n'interprètent pas correctement cette valeur. Donc
en entrant cette valeur dans un cookie elle est conservée obligatoirement.
C'est dommage j'ai détruis mes pages d'exemple que j'avais faites sinon
je te les aurais transmises avec plaisir. Je cherchais cette solution
pour un copain qui ne trouvais pas son bonheur et qui m'a demandé son aide.
Amitiés à la belle province
--
Yannick VOYEAUD
Nul n'a droit au superflu tant que chacun n'a pas son nécessaire
(Camille JOUFFRAY 1841-1924, maire de Vienne)
http://www.voyeaud.org
La première fois, oui, pas la 2e !
Supposons ce parcours, si toutes les pages ont ce mécanisme
Page Inconnue
Page A
Cookie = Page Inconnue
Page 1
Cookie = Page A
Page 2
Cookie = Page 1
Page 3
Cookie = Page 2
Page 4
Cookie = Page 3
On remonte via le mécanisme à la page 3
Page 3
Cookie = Page 4
Supposons ce parcours, si seule la page A contient ce mécanisme
Page Inconnue
Page A
Cookie = Page Inconnue
Page 1
Cookie = Page Inconnue
Page 2
Cookie = Page Inconnue
Page 3
Cookie = Page Inconnue
Page 4
Cookie = Page Inconnue
On remonte via le mécanisme à la page inconnue
D'accord, mais il faut choisir quelle valeur est conservée.
Le referer est la page précédente et non la page courante. Donc, pour
reculer de UNE page, c'est bon, mais pas pour revenir à l'entrée du
site.
Par ailleurs, il faudrait ajouter un test pour avoir la page A si le
cookie n'est pas défini.
Merci
Denis
Re,
Le visiteur arrive sur A ou B (son chemin antérieur ne nous intéresse
pas du tout)
De là il va sur 1.
C'est à ce moment que je veux me rappeler de quelle page je viens donc
la valeur est bien le referer, donc je crée le cookie avec cette valeur.
Normalement la valeur enregistrée est l'adresse complète car la variable
est remplacée par la valeur dans le cookie.
Le visiteur décide de revenir en arrière il revient sur A en utilisant
le lien qui, lui, appelle le cookie.
Le visiteur décide de passer à 2 et de revenir directement à SON accueil
le lien prend en compte la valeur enregistrée dans le cookie qui est
bien A ou B.
On veut savoir comment on arrive sur 1 et c'est bien cette valeur qui
est prise en compte dans le cookie. Par conséquent c'est en page 1 que
l'on génère le cookie.
Je verrais bien si le copain me dit que cela ne marche pas je
reprendrais la recherche mais j'ai testé pourtant avec 3 pages 1, 2 et n
et cela donnait bien le résultat escompté.
Amitiés
--
Yannick VOYEAUD
Nul n'a droit au superflu tant que chacun n'a pas son nécessaire
(Camille JOUFFRAY 1841-1924, maire de Vienne)
http://www.voyeaud.org
Non on cherche à enregistrer si on est venu de A ou de B
donc le plus simple :
- A dit au cookie : 'A'
- et B lui dit : 'B'
N'importe quoi, les navigateurs savent bien d'où ils viennent, juste ils
ont ou non l'envie de le dire au serveur lorsque celui-ci demande le
REFERER.
Donc, oui, l'idée du referer est une mauvaise idée.
L'obligation du cookie vient du fait que tu ne sais pas jusqu'à quel
niveau de l'historique du navigateur tu dois remonter pour revenir à A
(ou B) et que ce cookie va te mémoriser ce A (ou B).
--
Stéphane Moriaux avec/with iMac-intel