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 :

Script pour les visites sur le site [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif Avatar de DezMax
    Homme Profil pro
    Licence Informatique
    Inscrit en
    Décembre 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Licence Informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 89
    Par défaut Script pour les visites sur le site
    Salut, à tous je voudrais savoir comment modifier ce script de façon à vérifier l'existence de l'ip à la date du jours par exemple:

    L'utilisateur vient sur le site aujourd'hui si c'est la première fois alors il est ajouté à la base de donnée si c'est plus que la première fois alors il n'est pas ajouté à la BDD , en revanche si il vient le jours suivant une fois il est ajouté à la base donnée plus qu'une fois alors il n'est pas ajoutée .

    Problème :
    CHAQUE JOURS L'UTILISATEUR NE PEUT ETRE INSÉRER QU'UNE FOIS DANS LA BASE DONNÉE ET SI IL EXISTE DÉJÀ POUR LE JOURS ALORS IL N'EST PAS AJOUTÉE .


    pour le moment le script ajoute si la personne n'existe pas dans la base donnée sinon il ne l'ajoute pas .
    Code PHP : 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
    <?php
     
    //Adresse IP
    $ip = $_SERVER['REMOTE_ADDR'];
     
     //Envoie une requête SQL qui vérifie l'existence de l'ip dans la BDD
      $check_IP = mysql_query('SELECT * FROM visiteurs WHERE ip="'.$ip.'"');
     
     //Vérifie si la BDD nous indique l’existence de cette ip
     if(mysql_num_rows($check_IP) != 0){
     echo "On ajoute pas le visiteur a la BDD";
      }
     
    else{
    $insert_IP = mysql_query('INSERT INTO visiteurs(ip) VALUES("'.$ip.'")');
     
       if($insert_IP){
        echo "Visiteur ajout&eacute;";
        }
       else{
       echo "Erreur SQL";
        }
     
    }
     
    ?>

    Ma table SQL

    id | ip | date |
    1 |127.0.0.1| 2013-25-03

  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
    Ajoute un index UNIQUE sur l'ip et la date et tu auras juste à faire :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT IGNORE INTO visiteurs(ip) VALUES("'.$ip.'", CURDATE())
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre actif Avatar de DezMax
    Homme Profil pro
    Licence Informatique
    Inscrit en
    Décembre 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Licence Informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 89
    Par défaut
    Merci
    mais pour la date je prefere utiliser la fonction date();

    ce qui me pose problème c'est le système logique mais après avoir réfléchie je pense avoir trouver une solution
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    while( $data = mysql_fetch_array($insert_IP)){
    $dateV =  $data['date'];
     if($dateV == date('Y-d-m')){
      echo "La date existe donc on ajoute pas le visiteurs !";
     
      }
    else{
     echo "la date n'existe pas pour le visiteur on l'ajoute";
    }
    }
    ?>

  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
    Je ne vois pas pourquoi se compliquer la tâche alors que ça peut être fait en deux lignes de code.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre actif Avatar de DezMax
    Homme Profil pro
    Licence Informatique
    Inscrit en
    Décembre 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Licence Informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 89
    Par défaut
    Je n'ai pas très bien compris votre requete en SQL elle fait quoi exactement ?
    Merci

  6. #6
    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
    Elle insère l'ip et la date dans la table, et s'il y a problème d'unicité sur le couple ip/date, elle ne fait rien (evidemment il faut l'index UNIQUE sur le couple ip/date)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. comment aspirer les liens "embed" pour les utiliser sur mon site
    Par stephanech dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 03/08/2010, 08h56
  2. [Joomla!] Quel est le layout utilisé pour les annonces sur le site officiel?
    Par _skip dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 07/06/2010, 11h40
  3. Problème d'entête pour les news sur mon site
    Par jounax dans le forum Langage
    Réponses: 1
    Dernier message: 06/01/2008, 11h11
  4. [MySQL] Statistiques sur les visites d'1 site - Fct count / num_rows
    Par RKU01 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 11/02/2007, 19h05
  5. pour ou contre un compteur de visite sur un site?
    Par cortex024 dans le forum Mon site
    Réponses: 8
    Dernier message: 04/12/2006, 11h20

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