Partage
  • Partager sur Facebook
  • Partager sur Twitter

Je n'arrive pas à me connecter à ma db mysql

    15 février 2019 à 14:35:46

    Bonjour,

    Je suis nouveau sur Openclassrooms, je viens d'ouvrir un site d'énigme où mon but est seulement de le créer de toutes pièces en apprenant à coder. Bref, passons les détails. Je souhaite réaliser un compteur de personne connectées sur mon site, mais un problème se présente pour afficher le nombre de personne.

    ( j'ai suivi le tp suivant https://openclassrooms.com/fr/courses/1218971-affichez-le-nombre-de-visiteurs-connectes). Et vu que c'est pour m'entrainer je suis héberger sur 000webhost(pas de trashtalk a propos de sa please)

    <?php
    // Connexion à MySQL
    $conn= mysql_connect("localhost", "user", "mdp", "dbname");
    mysql_select_db("connectes"); //nom de ma table
    
    // -------
    // ÉTAPE 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'] . '\'');
    }
    
    // -------
    // ÉTAPE 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);
    
    // -------
    // ÉTAPE 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>';
    ?>
    

    Si quelqu'un peut m'aider ce serait avec plaisir, bonne journée :D 

    -
    Edité par FPaul 15 février 2019 à 14:36:34

    • Partager sur Facebook
    • Partager sur Twitter
      15 février 2019 à 14:57:53

      Je pense que le soucis vient du fait que tu n'as pas indiqué le bon host, user, password et nom de table dans ta connection à ta base de donnée 

      $conn= mysql_connect("localhost", "user", "mdp", "dbname");

      En cherchant sur ton hébergement tu devrais pouvoir trouvé ces informations

      • Partager sur Facebook
      • Partager sur Twitter
        15 février 2019 à 15:35:33

        mysql_select_db ne sélectionne pas de table. Si tu as possibilité,  utilise PDO ou mysqli.

        Je me demande comment un tuto qui utilise des fonctions obsolètes et maintenant supprimées peut encore exister sur ce site.

        • Partager sur Facebook
        • Partager sur Twitter
        le bienfait n'est jamais perdu
          15 février 2019 à 15:43:36

          MaximeDétaille a écrit:

          Je pense que le soucis vient du fait que tu n'as pas indiqué le bon host, user, password et nom de table dans ta connection à ta base de donnée 

          $conn= mysql_connect("localhost", "user", "mdp", "dbname");

          En cherchant sur ton hébergement tu devrais pouvoir trouvé ces informations

          j'ai déjà checker à ce niveau la :'(

          WillyKouassi a écrit:

          mysql_select_db ne sélectionne pas de table. Si tu as possibilité,  utilise PDO ou mysqli.

          Je me demande comment un tuto qui utilise des fonctions obsolètes et maintenant supprimées peut encore exister sur ce site.

          j'ai pas trouvé d'autre tuto "actuelle"

          -
          Edité par FPaul 15 février 2019 à 15:44:44

          • Partager sur Facebook
          • Partager sur Twitter
            15 février 2019 à 19:28:54

            FPaul a écrit:

            MaximeDétaille a écrit:

            Je pense que le soucis vient du fait que tu n'as pas indiqué le bon host, user, password et nom de table dans ta connection à ta base de donnée 

            $conn= mysql_connect("localhost", "user", "mdp", "dbname");

            En cherchant sur ton hébergement tu devrais pouvoir trouvé ces informations

            j'ai déjà checker à ce niveau la :'(

            WillyKouassi a écrit:

            mysql_select_db ne sélectionne pas de table. Si tu as possibilité,  utilise PDO ou mysqli.

            Je me demande comment un tuto qui utilise des fonctions obsolètes et maintenant supprimées peut encore exister sur ce site.

            j'ai pas trouvé d'autre tuto "actuelle"

            -
            Edité par FPaul il y a environ 3 heures


            Le cours de mathéo tout simplement et sinon tu as https://www.grafikart.fr/formations/php

            Un petit manque de recherche je pense :)

            • Partager sur Facebook
            • Partager sur Twitter

            Je n'arrive pas à me connecter à ma db mysql

            × 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