Discussion:
Conservation d'une page d'entrée
(trop ancien pour répondre)
Yannick VOYEAUD
2012-10-19 23:43:49 UTC
Permalink
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
Denis Beauregard
2012-10-20 00:22:58 UTC
Permalink
Le Sat, 20 Oct 2012 01:43:49 +0200, Yannick VOYEAUD
Post by 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
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
Denis Beauregard
2012-10-20 01:02:59 UTC
Permalink
Le Fri, 19 Oct 2012 20:22:58 -0400, Denis Beauregard
Post by Denis Beauregard
Le Sat, 20 Oct 2012 01:43:49 +0200, Yannick VOYEAUD
Post by 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
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.
Du code assez simple en fait pour le retour à la page précédente.

<?php
echo '<a href="' . $_SERVER["REFERER"] . '">Retour</a>';
?>

Pour la 1re page sur le site, ce n'est pas difficile il me semble.


Denis
Yannick VOYEAUD
2012-10-25 16:59:24 UTC
Permalink
Post by Denis Beauregard
Post by Denis Beauregard
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.
Du code assez simple en fait pour le retour à la page précédente.
<?php
echo '<a href="' . $_SERVER["REFERER"] . '">Retour</a>';
?>
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
Yannick VOYEAUD
2012-10-25 20:15:11 UTC
Permalink
Post by Yannick VOYEAUD
Post by Denis Beauregard
Post by Denis Beauregard
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.
Du code assez simple en fait pour le retour à la page précédente.
<?php
echo '<a href="' . $_SERVER["REFERER"] . '">Retour</a>';
?>
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
Re,

Voici ce que j'ai fais:
Page A et B
## Là où tu veux mettre lien vers la page 1 commune
<a href="Page_1.php" >Page 1</a>


Page 1
<?php
setcookie('page_arr', $_SERVER['HTTP_REFERER'], (time() +3600 ));
?>

## lien vers la page 2
<a href="test2.php" >page 2</a>

## 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
Denis Beauregard
2012-10-26 02:44:51 UTC
Permalink
Le Thu, 25 Oct 2012 22:15:11 +0200, Yannick VOYEAUD
Post by Yannick VOYEAUD
Page A et B
## Là où tu veux mettre lien vers la page 1 commune
<a href="Page_1.php" >Page 1</a>
Page 1
<?php
setcookie('page_arr', $_SERVER['HTTP_REFERER'], (time() +3600 ));
?>
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
Yannick VOYEAUD
2012-10-26 13:56:39 UTC
Permalink
Post by Denis Beauregard
Le Thu, 25 Oct 2012 22:15:11 +0200, Yannick VOYEAUD
Post by Yannick VOYEAUD
Page A et B
## Là où tu veux mettre lien vers la page 1 commune
<a href="Page_1.php" >Page 1</a>
Page 1
<?php
setcookie('page_arr', $_SERVER['HTTP_REFERER'], (time() +3600 ));
?>
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
Denis Beauregard
2012-10-26 14:34:36 UTC
Permalink
Le Fri, 26 Oct 2012 15:56:39 +0200, Yannick VOYEAUD
Post by Yannick VOYEAUD
Post by Denis Beauregard
Le Thu, 25 Oct 2012 22:15:11 +0200, Yannick VOYEAUD
Post by Yannick VOYEAUD
Page A et B
## Là où tu veux mettre lien vers la page 1 commune
<a href="Page_1.php" >Page 1</a>
Page 1
<?php
setcookie('page_arr', $_SERVER['HTTP_REFERER'], (time() +3600 ));
?>
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.
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
Post by Yannick VOYEAUD
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.
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.
Post by Yannick VOYEAUD
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
Merci


Denis
Yannick VOYEAUD
2012-10-26 17:27:44 UTC
Permalink
Post by Denis Beauregard
Le Fri, 26 Oct 2012 15:56:39 +0200, Yannick VOYEAUD
Post by Yannick VOYEAUD
Post by Denis Beauregard
Le Thu, 25 Oct 2012 22:15:11 +0200, Yannick VOYEAUD
Post by Yannick VOYEAUD
Page A et B
## Là où tu veux mettre lien vers la page 1 commune
<a href="Page_1.php" >Page 1</a>
Page 1
<?php
setcookie('page_arr', $_SERVER['HTTP_REFERER'], (time() +3600 ));
?>
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.
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
Post by Yannick VOYEAUD
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.
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.
Post by Yannick VOYEAUD
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
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
SAM
2012-10-27 01:03:16 UTC
Permalink
Post by Yannick VOYEAUD
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.
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'
Post by Yannick VOYEAUD
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.
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
Loading...