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 :

Créer un log de connexion


Sujet :

Langage PHP

  1. #1
    Rédacteur
    Avatar de Yoshidu62
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 294
    Points : 374
    Points
    374
    Par défaut Créer un log de connexion
    Bonjour,

    pour mon site je souhaiterais créer un log de connexion, c'est-à-dire que lorsqu'un internaute arrive sur mon site, je récupère différentes informations (ip, navigateur, etc..) et j'enregistre en base de données.

    Mon problème est le suivant, la récupération de toutes les infos se fera sur la première page du site, mais si un internaute arrive directement sur une autre page du site (via une recherche sur google par exemple), et bien il faut également que je récupère les infos sur cette page, donc pour résumer, la récupération des infos doit se faire sur toutes les pages du site car on ne sait jamais sur laquelle arrivera l'internaute. Mais donc si quelqu'un navigue sur toutes les pages du site, alors à chaques fois je vais récupérer les infos sur lui, et donc gonfler ma base de données, si j'ai 10 pages, et qu'il visite les 10, alors j'aurais 10 entrées dans ma base.

    Comment faire pour ne récupérer qu'une seule fois les infos sur un internaute, c'est-à-dire quand il arrive,et ensuite si il navigue sur le site on ne récupère plus rien vis-à-vis de cet internaute?

    Merci.
    VIM un éditeur pour la VIe : http://www.vim.org

    Ubuntu, une distribution Linux pour tous : http://www.ubuntu.com/

    Mon espace perso : http://ngressier.developpez.com

  2. #2
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Points : 313
    Points
    313
    Par défaut
    Bonjour,

    Je pense qu'il faut utiliser les variables session. Si la session débute (et qu'il n'y a donc pas d'identifiant de session), tu enregistres les données dans la base de données, sinon tu ne fais rien.
    N'oubliez pas le tag .
    Merci de ne pas envoyer de MP pour des problèmes techniques.

  3. #3
    Rédacteur
    Avatar de Yoshidu62
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 294
    Points : 374
    Points
    374
    Par défaut
    Je ne vois pas comment utiliser les variables de connexion car on ne sait pas sur quelle page l'utilisateur va arriver et il n'y a pas d'identification sur le site
    VIM un éditeur pour la VIe : http://www.vim.org

    Ubuntu, une distribution Linux pour tous : http://www.ubuntu.com/

    Mon espace perso : http://ngressier.developpez.com

  4. #4
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Points : 313
    Points
    313
    Par défaut
    Il faut que tu mettes au début de chacune de tes pages, un code qui ressemble à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
        session_start();
        if (!isset($_SESSION['debut'])) // si aucune session n'est débutée, on sauvegarde les données
        {
                // script d'insertion des données
        } 
        else
        {
               $_SESSION['debut'] = 'ok'; // sinon on crée une variable session qui indique que la session est commencée
        } 
    ?>
    N'oubliez pas le tag .
    Merci de ne pas envoyer de MP pour des problèmes techniques.

  5. #5
    Rédacteur
    Avatar de Yoshidu62
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 294
    Points : 374
    Points
    374
    Par défaut
    Bon j'ai trouvé comment faire pour utiliser les variables de session mais maintenant j'ai une autre question.

    Quand on veut détruire une session on utilise seesion_destroy() et on supprime toutes les variables de session qui ont été créé, on fait ça généralement quand l'utilisateur se délogue du site.

    Mais comment fait-on cela si sur le site il n'y a pas de système de login et de déconnection? Je sais que la session peut-être détruite au bout d'un moment d'inactivité mais comment régler cette durée d'inactivité? et est-ce qu'avec cette méthode les variables de session sont supprimées?

    Merci.
    VIM un éditeur pour la VIe : http://www.vim.org

    Ubuntu, une distribution Linux pour tous : http://www.ubuntu.com/

    Mon espace perso : http://ngressier.developpez.com

  6. #6
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Je rappelle que Developpez.com propose également divers cours sur les sessions :
    http://php.developpez.com/cours/

    Rapport à ton problème, il faudrait que chacune de tes pages inclue un script common.php dans lequel tu pourrais lancer la session et récupérer ces infos.

    [Edit] Si le visiteur ferme son navigateur, la session est perdue (donc détruite au bout d'un temps).

  7. #7
    Rédacteur
    Avatar de Yoshidu62
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 294
    Points : 374
    Points
    374
    Par défaut
    Merci à vous.
    VIM un éditeur pour la VIe : http://www.vim.org

    Ubuntu, une distribution Linux pour tous : http://www.ubuntu.com/

    Mon espace perso : http://ngressier.developpez.com

  8. #8
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    Visiblement tu as résolu ton problème. Je suppose que tu utilisais déja des sessions sur ton site. Parce que sinon c'est peut être un procédé un peut lourd juste pour détecter l'arrivée d'un visiteur...
    A la lecture de ta question je pensais plutot à l'utilisation de la variable HTTP_REFERER qui contient l'adresse de la page précedente que ton visiteur a visualisé. Si c'est ailleurs que chez toi, c'est que le visiteur vient d'arriver, sinon c'est qu'il se ballade de page en page...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer un pont de connexion réseau
    Par jawed dans le forum Hardware
    Réponses: 7
    Dernier message: 12/08/2008, 04h26
  2. Créer des logs avec Safe Mode activé
    Par LestoK dans le forum Langage
    Réponses: 2
    Dernier message: 28/08/2007, 17h10
  3. Log des connexions a internet
    Par drinkmilk dans le forum Réseau
    Réponses: 5
    Dernier message: 29/03/2007, 08h52
  4. Log des connexions
    Par rvzip64 dans le forum Administration
    Réponses: 1
    Dernier message: 24/10/2006, 09h36
  5. Logs des connexions sur un cisco 2600
    Par spynux dans le forum Développement
    Réponses: 1
    Dernier message: 01/01/2006, 23h36

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