IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Récupéré donnée Page précédente <-> Page actuelle


Sujet :

Langage PHP

  1. #1
    Membre actif

    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 42
    Points : 258
    Points
    258
    Par défaut Récupéré donnée Page précédente <-> Page actuelle
    Bonjour,

    Dans l'optique d'établir un compteur de visite fonctionnel. J'essaye depuis ce matin de comparé l'url de la page précédente (HTTP_REFERER) à l'url de la page actuelle (PHP_SELF).

    Si ces deux urls sont identiques, alors on ne fait rien, sinon on incrémente avec UPDATE le champs nbr_visiteurs de 1.

    Pour le moment j'ai fais ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    require('connect.php');
     
    $pageactuelle=  'http://monsite.fr' . $_SERVER['PHP_SELF'] . '?id=' .$_GET['id'];
    $dernierepage= 'http:/monsite.fr'. $_SERVER['HTTP_REFERER'];
     
    if ($dernierepage == $pageactuelle ) 
    {
     
    } 
    else 
    {  
    	echo 'Dernière page visitée : '. $dernierepage. '<br />'; 
    	echo 'Page actuelle : '. $pageactuelle;
    /*
    	// On incrémente le nombre de visiteurs à chaque refresh
    	$req = $bdd->prepare('UPDATE articles SET nbr_visiteurs = nbr_visiteurs +1');
    	$req->execute();	
    	$req->closeCursor();	
    */
    }
    ?>
    J'ai fais quelques echo pour pouvoir tester le tout mais il y a un problème, le résultat est relativement limité. En effet au départ si je me suis orienté sur un système de vérification de "page" c'était pour éviter l'incrémentation systématique du champs "nbr_visites" à chaque refresh et/ou F5 de l'internaute.

    Hors là lorsque je refresh la page, HTTP_REFERER "perd l'url" et je n'ai rien en réponse de :
    echo 'Dernière page visitée : '. $dernierepage. '<br />';
    hormis ceci: http://monsite.fr sur Chrome.
    et sur les autres navigateur j'ai toujours l'url de l'ancienne page alors que normalement si je fais un F5 sur la page A, l'url de l'ancienne page devrait être la page A non ?

    Pourriez-vous m'aider ? Peut être existe t-il une autre solution. Merci

  2. #2
    Membre confirmé Avatar de Inazo
    Profil pro
    Gérant - société de développement web
    Inscrit en
    Avril 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Gérant - société de développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 417
    Points : 632
    Points
    632
    Par défaut
    Bonjour,

    Pour commencer le HTTP_REFERER n'est pas obligatoirement renseigner et donc il vous faudrait éviter de vous baser sur cet éléments. De plus pour un compteur de visite pourquoi ne pas utiliser un cookie ?

    Ensuite pour l'histoire du F5 il faut bien voir que le navigateur rejoue toutes la page comme si c'était la première fois qu'il y arrivait, en dehors des cookies.

    Cordialement,

Discussions similaires

  1. Réponses: 9
    Dernier message: 30/05/2013, 17h15
  2. Réponses: 3
    Dernier message: 13/11/2011, 21h19
  3. Réponses: 3
    Dernier message: 07/02/2011, 17h12
  4. Réponses: 2
    Dernier message: 07/07/2010, 17h19
  5. Réponses: 2
    Dernier message: 06/03/2003, 16h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo