Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur compteur

Sujet résolu
    5 avril 2007 à 13:30:09

    voilà j'ai créais un compteur de visite avec un texte différent suivant un ou plusieurs visiteurs.
    Ca marche très bien en local et sur le site il y a une erreur
    Pourtant je connecte a ma BDD avec un include qui fonctionne car on voit bien les news.


    Warning: main(connectes\connectes.php) [function.main]: failed to open stream: No such file or directory in /home.10/lafipad/www/astuces-informatiques/index.php3 on line 210

    Warning: main() [function.include]: Failed opening 'connectes\connectes.php' for inclusion (include_path='.:/usr/local/lib/php') in /home.10/lafipad/www/astuces-informatiques/index.php3 on line 210

    Vous pouvez aller voir en direct c'est en fond de page Ici
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      5 avril 2007 à 13:37:56

      Avec le code des pages en question, c'est mieux !
      (connectes.php et index.php3)
      • Partager sur Facebook
      • Partager sur Twitter
        5 avril 2007 à 13:42:26

        tu as dut oublier de mettre sur le serveur le dossier et/ou le fichier connectes/connectes.php
        • Partager sur Facebook
        • Partager sur Twitter
          5 avril 2007 à 14:01:33

          non non les fichiers y sont et lorsque je vais sur la base de données elle est identique à celle de easy sauf qu'elle est vide. rien ne s'affiche
          pour le livre d'or la page d'astuces j'ai mis ça
          <? include('..\connectes\connectes.php'); ?>


          la page connectes ça
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml">
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
          <title>nombre-connectes</title>
          </head>

          <body>
          <?php
          //Maintenant on se connecte à la base de donnée
          include("connexion/connexion.php");
          mysql_connect($host, $user, $pass);
          mysql_select_db($bdd);
          ?>

          <?php

          // 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);


          // nous allons afficher visiteur avec un s si il y en a plusieurs  !

          if ($donnees['nbre_entrees'] == 1) // si il y a un seul visiteur
          {
            echo '<p>Oui, ' . $donnees['nbre_entrees'] . ' internaute ! Tu es un peu seul !!!</p>';
            }
          else
          {
          echo '<p>Cool, ' . $donnees['nbre_entrees'] . ' internautes ! Nous sommes entre amis</p>';
          }
          ?>
          </body>
          </html>
          • Partager sur Facebook
          • Partager sur Twitter
            5 avril 2007 à 14:06:10

            sous windows :

            <? include('..\connectes\connectes.php'); ?>

            sur le web :

            <? include('../connectes/connectes.php'); ?>
            • Partager sur Facebook
            • Partager sur Twitter
              5 avril 2007 à 14:10:55

              Mince moi qui est fais un fichier connexion et les includes pour pouvoir envoyer le même fichier que je traville en local sur internet. c'est pas marrant lol

              merci j'essai

              En fait le texte s'affiche mais l'erreur et toujours marqué !!!

              • Partager sur Facebook
              • Partager sur Twitter
                5 avril 2007 à 14:12:40

                Windows comprend ceci:

                <? include('..\connectes\connectes.php'); ?>

                parce qu'il fonctionne ainsi.


                Les serveurs webs comprennent ceci:

                <? include('../connectes/connectes.php'); ?>

                parce que la plupart sont des systèmes Unix et "compatibles" mais windows (et d'autres) aussi le comprennent parce que c'est la norme PHP/HTML/Web en général. Tu devrais donc pouvoir utiliser le même include de connection sous windows.

                (Faudrait voir si en C(++) on peut aussi ouvrir des fichiers en utilisant "/" sous windows, mais ça ne m'étonnerait qu'à moitié, ça dépend sûrement du compilateur...)
                • Partager sur Facebook
                • Partager sur Twitter
                Espéranto (polyglotie) - Bépo - Linux - Anarchie - Végétalisme - Spiritualité - S’ouvrir et changer le monde !
                  5 avril 2007 à 14:15:08

                  vérifie toute tes inclusions
                  • Partager sur Facebook
                  • Partager sur Twitter
                    5 avril 2007 à 14:34:05

                    moi ca marche en local et sur le web ton code super
                    par contre je comprends pas
                    c'est une histoire de chemin surement
                    mais j'ai tout essayer
                    Ici ca marche
                    mais pas là
                    ici

                    dans le livre d'or j'ai mis ca
                    <? include('../connectes/connectes.php'); ?>
                    car dans un dossier livredor a la même racine que le dossier connectes

                    Ne peut -on pas faire un code qui marcherai sur toutes les pages pour voir le mettre partout
                    un truc comme les IF mais qui marcherais dans les include
                    pas trouvé sur le site

                    En fait a force de faire des essai j'ai compris le problème

                    C'est l'include connexion dans le fichier connecter qui va pas pour un mais va pour l'autre


                    si je met
                    include("././../connexion/connexion.php");
                    dans le fichier connectes.php ca marche pour le livre d'or mais ca marche plus pour l'index actuces
                    il faut ca
                    include("connexion/connexion.php");


                    c'est bizare et pas normal car le fichier connectés ne bouge pas

                    je n'arrive pas à trouver pourquoi je n'ai pas assez d'expérience
                    si quelqu'un pouvait m'aider , se serait cool
                    Merci
                    • Partager sur Facebook
                    • Partager sur Twitter
                      8 avril 2007 à 12:04:41

                      Le problème étant résolu je vous donne ce que j'ai fait cela peut servir à d'autes

                      en fait dans le fichier connectes j'ai enlevé l'appel à la connexion car mes pages qui recoivent l-include du fichier connectés l'on déjà
                      <?php
                      //Maintenant on se connecte à la base de donnée
                      include("connexion/connexion.php");
                      mysql_connect($host, $user, $pass);
                      mysql_select_db($bdd);
                      ?>

                      et le fichier livredor il fallait j'enlève aussi cette ligne avant l'include connectes
                      mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)


                      car etant donner que ca fermer la connexion j'avais plus accès à la base

                      je remercie Jérôme pour son aide. Avec 4 yeux c'est mieux que deux héhéhé
                      et tous ceux qui ont répondu là

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Erreur compteur

                      × 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