Analyser $HTTP_REFERER

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

CrazyCow007
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 182
Inscription: Dim Déc 28, 2003 17:07

Analyser $HTTP_REFERER

Message le Mar Oct 18, 2005 22:00

Bonjour,

Voilà ce que je cherche à faire :
Dans un script d'album photo je souhaiterais mettre un lien de retour vers la fiche correspondante automatiquement.
L'utilisation du javascript:history.go(-1) est assez limité puisque si le visiteur est arrivé sur cette page grâce à Google en cliquant sur le lien il va quitter le site.

J'ai donc pensé à utiliser $HTTP_REFERER et essayer de voir si $HTTP_REFERER contient le nom de domaine de mon site. Si oui affichage du lien :
Code: Tout sélectionner
<a href="<?php echo $HTTP_REFERER; ?>">Page précédente</a>

Si non : affichage d'un lien vers le sommaire des fiches.

J'ai donc essayé le code suivant mais ça ne marche pas. J'utilise peut-être une mauvaise fonction je sais pas... :?

Code: Tout sélectionner
<?php
$mystring = '$HTTP_REFERER';
$findme  = 'bond-fr';
$pos = strpos($mystring, $findme);

if ($pos === false) {
   echo "La chaîne '$findme' n'a pas été trouvée dans la chaîne '$mystring'";
} else {
   echo "La chaîne '$findme' a été trouvée dans la chaîne '$mystring'";
   echo " et à la position $pos";
}
 
// On peut chercher le caractère, en ignorant tout avant une position
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, pas 0
?>

(j'ai trouvé le code sur php.net, là il n'affiche pas l'adresse mais juste si une partie du nom de domaine a été trouvé dans la page précédente)

Merci d'avance pour vos solutions !

PS : Erreur générée:
La chaîne 'bond-fr' n'a pas été trouvée dans la chaîne '$HTTP_REFERER'


blman
WRInaute accro
WRInaute accro
 
Messages: 2915
Inscription: Ven Sep 05, 2003 10:46

Message le Mar Oct 18, 2005 22:06

Essaye avec cette variable $_SERVER['HTTP_REFERER'] plutôt qu'avec $HTTP_REFERER (obsolète)

CrazyCow007
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 182
Inscription: Dim Déc 28, 2003 17:07

Message le Mar Oct 18, 2005 22:14

En fait j'ai trouvé mieux avec la fonction eregi() :roll:

Code: Tout sélectionner
<?php

$string = $HTTP_REFERER;
if (eregi('jamesbond-fr', $string)) {
   echo "<a href=\"$HTTP_REFERER\">Page précédente</a>";
}
else
{
echo("<a href=\"http://www.jamesbond-fr.com/filmographie\">Revenir aux filmographies</a>");
}
?>


Mon erreur venait du fait surtout des ' qui entourait mon $HTTP_REFERER.

EDIT : Oui ça marche parfaitement :P (une chose bien utile je trouve car on rencontre souvent des sites avec des retours en arrière agaçant à cause du Javascript qui renvoi sur le site précédent :? )


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Jeu Oct 20, 2005 1:45

Je te conseille quand même l´utilisation de $_SERVER['HTTP_REFERER'] plutot, car c´est la bonne syntaxe qui suivra les prochaines versions certainement...

CrazyCow007
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 182
Inscription: Dim Déc 28, 2003 17:07

Message le Jeu Oct 20, 2005 19:01

ah ok. Merci :)

spidetra
WRInaute accro
WRInaute accro
 
Messages: 1500
Inscription: Lun Juil 07, 2003 13:06

Message le Jeu Oct 20, 2005 19:56

CrazyCow007 a écrit:En fait j'ai trouvé mieux avec la fonction eregi() :roll:



tu as tester parse_url ?

Code: Tout sélectionner
<?php
      var_dump( parse_url($_SERVER["HTTP_REFERER"] ));
?>


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

  • Analyseur d'entête HTTP
    Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée.
  • Test de redirection
    Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).
  • Analyse du positionnement
    AgentWebRanking est un logiciel professionnel qui permet d'analyser le positionnement d'un ou plusieurs sites dans plus de 300 moteurs de recherche dans le monde. Vous pouvez ainsi analyser les performances du référencement pour de nombreux mots-clés.
  • Analyse du référencement Google
    Cet outil vous donne un petit résumé de l'état de référencement de votre site dans Google.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités