Partage
  • Partager sur Facebook
  • Partager sur Twitter

Compteur de visite ( tuto SDZ )

j'ai tout remi normalement et il me met des erreurs de partout :(

Sujet résolu
    18 août 2006 à 20:02:54

    Bonjour a tous j'ai donc "emprunté" le script de compteur de visite au SDZ , j'ai ecris ca dans le fichier nommé connectes.php :

    <?php
    // Connexion à MySQL
    mysql_connect("localhost", "sdz", "mot_de_passe");
    mysql_select_db("coursphp");

    // -------
    // ETAPE 1 : on vérifie si l'IP se trouve déjà dans la table
    // Pour faire ça, on n'a qu'à compter le nombre d'entrées dont le champ "ip" est l'adresse ip du visiteur
    $retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip='' . $_SERVER['REMOTE_ADDR'] . ''');
    $donnees = mysql_fetch_array($retour);

    if ($donnees['nbre_entrees'] == 0) // L'ip ne se trouve pas dans la table, on va l'ajouter
    {
        mysql_query('INSERT INTO connectes VALUES('' . $_SERVER['REMOTE_ADDR'] . '', ' . time() . ')');
    }
    else // L'ip se trouve déjà dans la table, on met juste à jour le timestamp
    {
        mysql_query('UPDATE connectes SET timestamp=' . time() . ' WHERE ip='' . $_SERVER['REMOTE_ADDR'] . ''');
    }

    // -------
    // ETAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 5 minutes

    // On stocke dans une variable le timestamp qu'il était il y a 5 minutes :
    $timestamp_5min = time() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes
    mysql_query('DELETE FROM connectes WHERE timestamp < ' . $timestamp_5min);

    // -------
    // ETAPE 3 : on compte le nombre d'ip stockées dans la table. C'est le nombre de visiteurs connectés
    $retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes');
    $donnees = mysql_fetch_array($retour);


    // Ouf ! On n'a plus qu'à afficher le nombre de connectés !
    echo '<p>Il y a actuellement ' . $donnees['nbre_entrees'] . ' visiteurs connectés sur mon site !</p>';
    ?>



    et donc il me met des erreurs ligne 9 , 14 , 20 , 24 , 30 , 31 , j'avoue que je comprends pas ce qu'il faut faire , si quelqu'un pouvait m'aider ........... :(:(
    • Partager sur Facebook
    • Partager sur Twitter
      18 août 2006 à 20:12:29

      Pourrais tu nous mettre les erreurs exactes S.T.P
      • Partager sur Facebook
      • Partager sur Twitter
        18 août 2006 à 20:16:02

        Le probleme c'est qu'il m'en sort une a la foi alors on va devoir les resoudre une par une :(
        la premiere : Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /mnt/128/sdc/9/8/artsgamer/connectes.php on line 9

        Edit :

        Citation : A-spec59

        Dis moi qui est l'auteur de ce tuto que j'aille le fusiller :pirate:



        Tu veut vraiment fusiller M@téo21 ? :waw:

        et sinon pour ta reponse je doit supprimer quoi exactement qui correspond a "or die" ?

        • Partager sur Facebook
        • Partager sur Twitter
          18 août 2006 à 20:16:31

          Dis moi qui est l'auteur de ce tuto que j'aille le fusiller :pirate:
          Pas de or die(mysql_error()), une concaténation qui laisse à désirer (dans la première requête il faut échapper la première puis l'avant dernière apostrophe, ou remplacer ces deux apostrophes par des guillemets.
          Deuxième requête même erreur. Troisième et quatrième pareil.
          • Partager sur Facebook
          • Partager sur Twitter
            18 août 2006 à 20:20:27

            tu t'es bien connecté au serveur SQL ?
            les tables que tu utilises dans ce script existent ?
            • Partager sur Facebook
            • Partager sur Twitter
              18 août 2006 à 20:23:07

              Citation : slipknot74700

              Le probleme c'est qu'il m'en sort une a la foi alors on va devoir les resoudre une par une :(
              la premiere : Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /mnt/128/sdc/9/8/artsgamer/connectes.php on line 9

              Edit :

              Citation : A-spec59

              Dis moi qui est l'auteur de ce tuto que j'aille le fusiller :pirate:



              Tu veut vraiment fusiller M@téo21 ? :waw:

              et sinon pour ta reponse je doit supprimer quoi exactement qui correspond a "or die" ?


              Ba oui, des erreurs comme ça c'est horrible ^^
              A moins que tu ne saches pas faire un c/c, mais c'est ce que savent en général mieux faire les nouveaux zéros ^^

              Une question conne quand même, tu laisses pas les mêmes identifiants quand même pour te connecter à MySQL ?
              • Partager sur Facebook
              • Partager sur Twitter
                18 août 2006 à 20:23:39

                heu tu as penser a changer les identifiants de connexion ?
                • Partager sur Facebook
                • Partager sur Twitter
                  18 août 2006 à 20:26:58

                  Non ne t'inquietes pas pour sa lol
                  et oui j'ai bien specifié les tables
                  et A-spec59 peut tu copier mon script le mettre dans une reponse et coriger les erreurs s'il te plait car je n'ai pas compris ton explication de mettre des guillemets ou quelque chose , etc .... je t'en remercie :)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    19 août 2006 à 21:23:11

                    <?php
                    // Connexion à MySQL
                    mysql_connect("localhost", "sdz", "mot_de_passe");
                    mysql_select_db("coursphp");

                    // -------
                    // ETAPE 1 : on vérifie si l'IP se trouve déjà dans la table
                    // Pour faire ça, on n'a qu'à compter le nombre d'entrées dont le champ "ip" est l'adresse ip du visiteur
                    $retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip="' . $_SERVER['REMOTE_ADDR'] . '"');
                    $donnees = mysql_fetch_array($retour);

                    if ($donnees['nbre_entrees'] == 0) // L'ip ne se trouve pas dans la table, on va l'ajouter
                    {
                        mysql_query('INSERT INTO connectes VALUES("' . $_SERVER['REMOTE_ADDR'] . '", ' . time() . ')');
                    }
                    else // L'ip se trouve déjà dans la table, on met juste à jour le timestamp
                    {
                        mysql_query('UPDATE connectes SET timestamp=' . time() . ' WHERE ip="' . $_SERVER['REMOTE_ADDR'] . '"');
                    }

                    // -------
                    // ETAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 5 minutes

                    // On stocke dans une variable le timestamp qu'il était il y a 5 minutes :
                    $timestamp_5min = time() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes
                    mysql_query('DELETE FROM connectes WHERE timestamp < ' . $timestamp_5min);

                    // -------
                    // ETAPE 3 : on compte le nombre d'ip stockées dans la table. C'est le nombre de visiteurs connectés
                    $retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes');
                    $donnees = mysql_fetch_array($retour);


                    // Ouf ! On n'a plus qu'à afficher le nombre de connectés !
                    echo '<p>Il y a actuellement ' . $donnees['nbre_entrees'] . ' visiteurs connectés sur mon site !</p>';
                    ?>

                    Enfait pas besoin de le fusiller, c'est l'addslashes qui bugait dans les catégories/tuto ^^
                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 août 2006 à 10:23:07

                      Merci beaucoup A-spec59 , sa marche , topic resolu
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Compteur de visite ( tuto SDZ )

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown