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

PHP & Base de données Discussion :

besoin d'aide pour script statistique


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Par défaut besoin d'aide pour script statistique
    bonjour à tous,
    je souhaiterais connaitre grace à un script de:
    - ip du visiteur
    - ca provenance
    - ces telechargements
    - etc....

    voici le script:
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    <?php
    $host = "localhost"; // voir hébergeur
    $user = "root"; // vide ou "root" en local
    $pass = ""; // vide en local
    $bdd = "stat"; // nom de la BD
     
     
    // connexion
    @mysql_connect($host,$user,$pass)
       or die("Impossible de se connecter");
    @mysql_select_db("$bdd")
       or die("Impossible de se connecter");
     
     
     
    $sql = "INSERT INTO statistiques (ip,referer,time,parcours,download) ";
    $sql .= "VALUES ('".$_SERVER['HTTP_REFERER']."',".time().",'".$_SERVER['REQUEST_URI']."')";
     
    mysql_query($sql) or die('Erreur SQL !
    '.$sql.'
    '.mysql_error());
     
     
     
    // on crée $parcours et $time
    $time = time();
    $parcours = $_SERVER['REQUEST_URI'];
    # On récupère l'adresse ip du visiteur
     
    	if ($GLOBALS['HTTP_X_FORWARDED_FOR'])
    		$ip_visiteur = $GLOBALS['HTTP_X_FORWARDED_FOR'];
    	else
    		$ip_visiteur = $GLOBALS['REMOTE_ADDR'];
     
     
    	// Conversion IP 4 octets -> entier 32 bits
    	if (ereg("^(::ffff:)?([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)$", $ip_visiteur, $r)) {
    		$ip_visiteur = sprintf("0x%02x%02x%02x%02x", $r[2], $r[3], $r[4], $r[5]);
    	}
    	else return;
     
    // on ajoute le champs sessid à la requête qui a pour valeur
    // le n° de ssion généré par php et renvoyé par session_id()
     
    $sql = "INSERT INTO statistique (ip,referer,time,parcours,sessid,download) ";
    $sql .= "VALUES ('".$_SERVER['HTTP_REFERER']."', '$time','$parcours','$ip''$download''".session_id()."')";
     
    mysql_query($sql) or die('Erreur SQL !
    '.$sql.'
    '.mysql_error());
     
    // on ouvre une session
    session_start();
     
    // on enregistre les variables comme variable de session
    $_SESSION['time']= "$time";
    $_SESSION['parcours']= "$parcours";
    $_SESSION['ip']= "$ip";
    $_SESSION['download']= "$download";
     
     
     
    // on ouvre la session
    session_start();
     
    // on ajoute la nouvelle page vue, séparée par un point virgule, à la variable de session
    $_SESSION['parcours'].= ';'.$_SERVER['REQUEST_URI'];
     
    // on ajoute à la variable de session l'heure à laquelle la page a été vue
    $_SESSION['time'].= ';'.time();
     
    // on met la table à jour
    $parcours=$_SESSION['parcours'];
    $time=$_SESSION['time'];
    $sql = "UPDATE statistique SET parcours='$parcours',time='$time'";
    $sql .= "WHERE sessid='".session_id()."'";
     
    mysql_query($sql) or die('Erreur SQL !
    '.$sql.'
    '.mysql_error());
     
     
     
    // on ouvre la session
    session_start();
     
    if(!isset($_SESSION['parcours']))
    {
    // il s'agit d'un nouveau visiteur, on crée $_SESSION['parcours'] et $_SESSION['time']
    $_SESSION['time'] = time();
    $_SESSION['parcours']= $_SERVER['REQUEST_URI'];
     
    $parcours=$_SESSION['parcours'];
    $time=$_SESSION['time'];
    // on crée un enregistrement dans la table
    $sql = "INSERT INTO statistique (referer,time,parcours,sessid)";
    $sql .= "VALUES ('".$_SERVER['HTTP_REFERER']."','$time','$parcours','".session_id()."')";
    }
    else
    {
    //Sinon c'est un visiteur déjà présent, on ajoute la nouvelle page vue, séparée par un point virgule, à la variable de session
    $_SESSION['parcours'].= ';'.$_SERVER['REQUEST_URI'];
     
    // on ajoute à la variable de session l'heure à laquelle la page a été vue
    $_SESSION['time'].= ';'.time();
     
    // on met la table à jour
    $parcours=$_SESSION['parcours'];
    $time=$_SESSION['time'];
    $sql = "UPDATE statistique SET parcours='$parcours',time='$time', ip='$ip' , download='$download'";
    $sql .= "WHERE sessid='".session_id()."'";
    }
     
    //Enfin on exécute la requête dans tous les cas
    mysql_query($sql) or die('Erreur SQL !
    '.$sql.'
    '.mysql_error());
    ?>
    help me please,

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Bonjour,

    Quel probleme rencontres-tu avec ton script ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Par défaut besoin d'aide statistique php
    merci pour ta réponse,

    le probléme je rencontre, rien ne s'insére dans la base ( avec include dans les pages concernés et base de donnée predefinie) et je ne vois pas comment faire le compteur de téléchargement.

    le but est de tracé le visiteur par ces pages vues, ca provenance, son ip et son téléchargement de fichier.....

    merci de bien vouloir m'aidé

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu veux dire que l'INSERT ne se fait pas ou bien qu'il se fait mais que les colonnes sont vides ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 284
    Par défaut besoin d'aide statistique php
    en effet les colonnes sont vide
    je ne sais pas d'ou vient le probléme
    comment puis-je faire un compteur de telechargement trié par ip et referer?

    merci bcp,

  6. #6
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Bonjour,
    1 - Echapper les variables, c'est mieux
    2 - il manque pleins de virgules pour séparer tes champs, ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ".$time.",'".$parcours."','".$ip."','".$download."','".session_id()."'

Discussions similaires

  1. Besoin d'aide pour scripts basiques
    Par Jareid dans le forum VBScript
    Réponses: 3
    Dernier message: 07/08/2013, 10h59
  2. Besoin d'aide pour script bash : amélioration
    Par stabo dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 25/05/2012, 13h31
  3. Besoin d'aide pour script en shell pour un novice
    Par king_neo2001 dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 01/06/2007, 16h18
  4. [mIRC] besoin d'aide pour scripting
    Par emile13 dans le forum IRC / mIRC
    Réponses: 5
    Dernier message: 03/03/2007, 00h05
  5. besoin d'aide pour script DOS
    Par isaglada dans le forum Windows
    Réponses: 4
    Dernier message: 15/02/2007, 11h07

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