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 :

Nombre visiteurs /jour [PHP 5.4]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur du Dimanche
    Inscrit en
    Juillet 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur du Dimanche
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2014
    Messages : 147
    Points : 70
    Points
    70
    Par défaut Nombre visiteurs /jour
    Bonjour,

    J'ai récupéré sur le net un compteur de visite avec bdd MySql le souci est qu'il m'affiche cette erreur et le nombre de visiteur.
    Merci d'avance.
    Warning: date_timezone_set() expects exactly 2 parameters, 1 given in...on line 12.
    12 visiteurs aujourd'hui.
    TABLE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE IF NOT EXISTS `compteur` (
      `ip` char(30) NOT NULL DEFAULT '',
      `date` char(15) NOT NULL DEFAULT '',
      KEY `id` (`ip`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
     
    INSERT INTO `compteur` (`ip`, `date`) VALUES
    ('10', 'cpt_total'),
    ('127.0.0.1', '29-04-2013');
    compte.php :
    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
    <?php
     
    $mysql_host = 'mysql5-13.perso';    ///--- host de votre hébergeur
    $mysql_user = 'test';         ///--- login de votre base Mysql
    $mysql_password = 'passe';    ///--- mot passe de votre base Mysql
    $mysql_base = 'test';         ///--- nom de votre base Mysql
     
    $base = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("erreur de connexion MysQL");
    mysql_select_db($mysql_base,$base) or die ("erreur de connexion à la base");
     
    //// Récupération de la date actuelle ////
    $date=date_timezone_set("d-m-Y");
     
     
    //// Requête qui compte le nombre d'enregistrements dont la date est différente de la date actuelle ////
    $cpt="SELECT * FROM compteur WHERE date!='$date'";
    $req=mysql_query($cpt);
    $res=mysql_num_rows($req);
    $res2=($res-1);
     
    $sql_req="UPDATE compteur SET ip=(ip+$res2) WHERE date='cpt_total'";
    $upd=mysql_query($sql_req); 
     
    //// On efface ensuite les enregistrements dont la date est différente de la date actuelle ////
    $delete="DELETE FROM compteur WHERE date!='$date' && date!='cpt_total'";
    $query=mysql_query($delete);
     
    //// On récupère l'adresse IP du visiteur ////
    $ip="$_SERVER[REMOTE_ADDR]";
     
    //// On vérifie que cette adresse IP n'est pas déjà présente dans la table ////
    $requete="SELECT * FROM compteur WHERE date='$date' && ip='$ip'";
    $res=mysql_query($requete);
    $num=mysql_num_rows($res);
     
    //// Si un enregistrement contient déjà cette IP alors il ne se passe rien ////
    if($num!=0)
    {
    }
    //// Sinon on insère l'IP et la date ////
    else   
    {
    $insert="INSERT INTO compteur (ip,date) VALUES('$ip','$date')";
    $query=mysql_query($insert);
    }
     
    //// On récupère la valeur du compteur total ////
    $select_tot=mysql_query("SELECT ip FROM compteur WHERE date='cpt_total'");
    $compteur_tot=mysql_fetch_array ($select_tot);
     
    $select = mysql_query("SELECT ip FROM compteur WHERE date='$date'");
    $compteur = mysql_num_rows($select);
     
    $tot = ($compteur_tot['ip']+$compteur);
     
    if($tot>1) {$s="s";} else {$s="";}
     
    echo "$tot";
    mysql_close();
     
    ?>
    ligne dans index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php include("compteur/compt.php") ?> visiteurs aujourd'hui.
    -"Mais ici on attend pas jusqu'au Dimanche ?"

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne vois pas ce que vient faire date_timezone_set dans ton histoire ; la requête peut être simplement faite comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $date=date_timezone_set("d-m-Y");
    $cpt="SELECT * FROM compteur WHERE date!='$date'";
    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $cpt="SELECT * FROM compteur WHERE `date` != CURDATE()";
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur du Dimanche
    Inscrit en
    Juillet 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur du Dimanche
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2014
    Messages : 147
    Points : 70
    Points
    70
    Par défaut
    Merci beaucoup.
    -"Mais ici on attend pas jusqu'au Dimanche ?"

  4. #4
    Membre averti
    Avatar de Kyuudan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2015
    Messages : 100
    Points : 308
    Points
    308
    Billets dans le blog
    1
    Par défaut
    Salut,

    Essaie plutôt avec la fonction date(). Si c'est la date actuelle que tu cherches je pense c'est plus adapté. Sur ce lien tu as la description.


    EDIT : Le temps que j'écrive ma réponse j'ai trouvé plus rapide ^^
    «Soyez la mesure de la qualité. De nombreuses personnes n’ont pas l’habitude d’un environnement où ce qui est attendu, c’est l’excellence.» Steve Jobs

    Pense à mettre un !

    de mettre vos sujets en une fois que vous avez la réponse à votre question !

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

Discussions similaires

  1. Script Nombre Visiteur par jour
    Par dijimon69 dans le forum Langage
    Réponses: 3
    Dernier message: 30/11/2009, 09h58
  2. [Dates] Nombre de jours entre deux dates
    Par cmoiscrat dans le forum Langage
    Réponses: 3
    Dernier message: 22/09/2005, 16h25
  3. Comment obtenir le nombre de jours entre deux timedatepicker
    Par bertrand_declerck dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/08/2005, 12h59
  4. calcule du nombre de jours entre 2 dates
    Par nazimb dans le forum ASP
    Réponses: 4
    Dernier message: 28/09/2004, 16h22
  5. [CR]nombre de jours dans un mois donné
    Par liberio dans le forum Formules
    Réponses: 2
    Dernier message: 20/04/2004, 17h54

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