Bonjour, je suis photographe et loin d'être expert en informatique !
En maintenant mon site www.vollat.fr, je suis confronté au problème suivant :

La question est très simple (et moi sans doute très nul !) :

J'ai deux pages matin_1.html et matin_2.html .

Depuis chacune, en cliquant sur un texte du genre "vers midi" on peut ouvrir une troisième page midi.html
avec l'instruction
<a href="midi.html">vers midi</a> .

Que dois-je écrire dans midi.html pour que, en cliquant sur un texte du genre "retour", s'ouvre
. une quatrième page soir_1.html si je suis venu sur midi.html depuis matin_1.html
. une cinquième page soir_2.html si je suis venu sur midi.html depuis matin_2.html

Je suis prêt à tout : javascript, php, ...

Par avance, merci infiniment de votre aide !

Patrick V

6 réponses


Carouge10
Réponse acceptée

Bonjour,
pour moi le plus simple serait de passer un paramètre via l'url
puis de le récupérer avec un $_GET en php
Voici un cours pour t'aider : get url
Il faudra ensuite passer tes pages en ".php" au lieu de ".html"

popotte
Réponse acceptée

Hello :)

Alors comme dit au desssus faut passer par du php, ensuite une alternative pour cleaner un peu l'url sans mettre de params get ce serait de passer par des variables de session (en PHP avec Redis ou en JS avec la session navigateur)

Maintenant ça dépends de la taille du projet, si vraiment tu n'as que ces pages mieux vaut utiliser get comme dit carouge, si tu prévoit une app évolutive avec beaucoup de pages et plusieurs scénarios possibles ça deviendrait compliqué mieux vaut passer en session

Et si la complexité augmente encore... dans ce cas faut passer par un framework et utuiliser des middlewares qui vontt servir à aguiller la navigation selon certaines conditions

Patrick V
Auteur
Réponse acceptée

Merci pour toutes ces explications.
Je vois que le problème est un peu plus compliqué que ce que j'imaginais ! Mais je pense qu'avec vos indications je vais m'en sortir.
Merci encore

popotte
Réponse acceptée

De rien ;)

En vrai c'est compliqué seulement si ton projet est compliqué, si ton projet est vraiment comme l'exemple que tu as donné et que tu veux personnaliser qu'une seule page tu peux utiliser la solution de Carouge et c'est très simple à mettre en place, ma solution est plus adaptée si tu n'a donné qu'un exemple mais que tu possèdes plusieurs pages dynamiques avec plusieurs conditions

Bref la solution sera aussi compliquée que ton projet :p

alain_47
Réponse acceptée

Bonjour,

La solution php est la meilleure.

Eventuellement, tu peux aussi essayer la facon JS avec 'localStorage'.

Par exemple

index.html
"
<!DOCTYPE html>
<html lang="en">
<head>...</head>
<body>
<div>
<p> <a href="matin1.html">matin 1</a> </p>
<p> <a href="matin2.html">matin 2</a> </p>
</div>
</body>
</html>
"

matin1.html
"
...
<body>
<div> je suis MATIN 1 </div>
<div> <a href="midi.html">midi</a> </div>

<script>
    localStorage.setItem("number", 1);
</script>

</body>
"

matin2.html
"
...
<body>
<p>je suis Matin 2</p>
<p> <a href="midi.html">midi</a> </p>

<script>
    localStorage.setItem('number', 2);
</script>

</body>
"

midi.html
<body>
<p>Je suis MIDI</p>
<p> <button id="soir">Soir</button> </p>

<script>
    const number = localStorage.getItem("number");

    const btn = document.querySelector('#soir');
    btn.addEventListener("click", ()=>{
        location.replace(`soir${number}.html`);
    })
</script>

</body>

soir1.html
<body>
<p>je suis Soir 1</p>
</body>

soir2.html
"
<body>
<p>je suis Soir 2</p>
</body>
"

Formidable !

J'ai déjà testé deux de vos solutions sur mon site (www.vollat.fr) .. et qui fonctionnent ! Je m'attaque à la troisième ..

N'en jetez plus !!!

Merci infiniment à tous

Patrick V