5545 sujets

Sémantique web et HTML


Bonjour à tous,


J'ai une petite question : je souhaite que plusieurs liens ouvrent la même page html (plus précisément, une page php), mais lors que celle-ci s'ouvre, savoir lequel des liens a été utilisé.

Dois-je faire des liens du genre <a href="mapage.php" id="référence du lien"> ? Mais dans ce cas, comment "récupérer" la référence dans mapage.php ?

Oui puis-je faire cela avec javascript ? Ou faut-il bricoler quelque chose avec un formulaire caché pour utiliser la méthode GET ou POST ? Ou tiens, juste mettre <a href="mapage.php?référence du lien"> ?

J'imagine qu'il y a un truc très simple, alors si vous pouvez m'éclairer...

Merci d'avance !
Administrateur
La dernière piste me semble la plus simple
<a href="mapage.php?ref=42">


Que l'on récupère ensuite avec
$_GET['ref']
Meilleure solution
Tu peux utiliser cette variable globale PHP, elle contient l'url de la page précédente
$_SERVER['HTTP_REFERER']


Documentation PHP a écrit :
'HTTP_REFERER'
L'adresse de la page (si elle existe) qui a conduit le client à la page courante. Cette valeur est affectée par le client, et tous les clients ne le font pas. Certains navigateurs permettent même de modifier la valeur de HTTP_REFERER, sous forme de fonctionnalité. En bref, ce n'est pas une valeur de confiance.


La majorité des gens ne s'amusent pas à modifier ou masquer leur "HTTP_REFERER", donc si tu veux juste faire des statistiques ça suffit

si tu veux afficher un truc précis selon d'où vient la personne, alors il vaut mieux utiliser les paramètres GET comme cité précédemment
Modifié par taspeur (19 Jun 2017 - 18:06)
Modérateur
Bonjour,

taspeur a écrit :

La majorité des gens ne s'amusent pas à modifier ou masquer leur "HTTP_REFERER"

Peut-on connaître l'origine des statistiques qui conduisent à cette conclusion ?
A mon sens, "majorité" n'est que le reflet d'un sentiment personnel qui peut-être très loin d'une réalité constatable.

La solution de Dew me semble être la plus appropriée, la plus fiable, la plus perenne et la plus simple à mettre en place. Smiley smile

Bonjour, et merci pour vos réponses.

Effectivement c'est tout simple avec la méthode GET, merci encore. Question subsidiaire : comment faire pour passer un paramètre à la même page ?

Je m'explique : j'ai une carte affichée par Leaflet, et sur cette carte figurent des marqueurs. Je veux que l'utilisateur puisse modifier les marqueurs. Quand je clique sur un marqueur, Leaflet ouvre un petit popup dans lequel j'ai mis un bouton "modifier", et quand je clique sur ce bouton...

1) ...dans la version du pauvre, il ouvre une page html (enfin, php) en envoyant par la méthode GET, la référence du marqueur, comme vous me l'avez indiqué plus haut. La page ainsi ouverte peut alors contenir un formulaire et faire la mise à jour du marqueur dans la base de données. Cela fonctionne mais ce n'est pas très esthétique.

2) ...dans la version riche, je ne veux pas ouvrir une nouvelle page mais un volet coulissant qui contient le même formulaire. J'ai appris à faire des volets coulissants grâce à https://www.alsacreations.com/tuto/lire/1234-creer-volet-coulissant-CSS3-target-transition.html (merci forum, merci Geoffrey C.), et donc, un volet étant une balise <DIV> animée par CSS, cela signifie que quand je clique sur "modifier", il faut qu'il ouvre le volet (ça je sais faire) et qu'il lui passe la référence du marqueur par exemple en auto-remplissant le champ "ref" du formulaire...

Là encore, ça doit être tout simple mais je sèche... Pouvez-vous m'indiquer la marche à suivre ?

Merci mille fois !

Modifié par GeoTrouvetout (21 Jun 2017 - 17:53)