Probleme sur compteur avec base de donnée
Résolu
fredy7
Messages postés
41
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
bonsoir,
je suis en train de faire un compteur de nombre de visite avec base de données, mais ça ne marche pas, ça m'affiche le message suivant :
------- fichier compteur.php --------
Fatal error: main() [function.require]: Failed opening required 'params.inc.php' (include_path='.:/data/apache/php/mmp_lib') in /data/members/free/multimania/fr/a/z/u/azul50/htdocs/compteur.php on line 6
est ce que quelqu'un pourrait me dire c'est quoi le probleme?
merci d'avance pour votre aide
je suis en train de faire un compteur de nombre de visite avec base de données, mais ça ne marche pas, ça m'affiche le message suivant :
------- fichier compteur.php --------
Fatal error: main() [function.require]: Failed opening required 'params.inc.php' (include_path='.:/data/apache/php/mmp_lib') in /data/members/free/multimania/fr/a/z/u/azul50/htdocs/compteur.php on line 6
est ce que quelqu'un pourrait me dire c'est quoi le probleme?
merci d'avance pour votre aide
A voir également:
- Probleme sur compteur avec base de donnée
- Compteur électrique - Guide
- Base de registre - Guide
- Compteur de contractions - Télécharger - Santé & Bien-être
- Comment ralentir un compteur linky forum - Accueil - Objets connectés
- Formules mathématiques de base - Télécharger - Études & Formations
15 réponses
salut, j'ai tester ton code et il marche...voila les etapes que j'ai suivi:
1-j'ai creer une nouvelle base de donner ayant comme nom "basecompteur"
2-j'ai utiliser cette requete pour creer une nouvelle table:
# Structure de la table `compteur`
CREATE TABLE compteur (
id smallint(6) NOT NULL auto_increment,
page varchar(255) NOT NULL default '',
nombre smallint(6) NOT NULL default '0',
date date NOT NULL default '0000-00-00',
heure time NOT NULL default '00:00:00',
PRIMARY KEY (id)
) TYPE=MyISAM;
3-j'ai creer le repertoir "compteur" dans le dossier "www"
4-dans ce repertoir j'ai creer le fichier "Compteur.php" voici son code:
<?
/* inclure le fichier de paramètres
* et se connecter à la base de données
*/
require ("params.inc.php");
$connexion= mysql_connect($hote,$login,$mdp);
mysql_select_db($bd, $connexion);
// récupère le nom complet (précédé du chemin) du fichier de la page en cours d'exécution
$page=$PHP_SELF;
// exécute une requête pour chercher ce nom dans la table
$req="select * from compteur where page='$page'";
$resultat=mysql_query($req,$connexion);
$nb= mysql_num_rows($resultat);
// si le nom du fichier se trouve déjà dans la table,
if ($nb == 1) {
$ligne= mysql_fetch_array($resultat);
/* alors on récupère la valeur du champ compteur,
on l'incrémente et on met à jour le champ compteur
ainsi que la date et l'heure actuelle
*/
$nombre = ++ $ligne[nombre];
$req_maj="UPDATE compteur SET nombre='$nombre', date=now(), heure=curtime() WHERE page='$page' ";
mysql_query($req_maj,$connexion);
// echo "page $page : $nombre ème accès le $ligne[date] à $ligne[heure]";
}
elseif ($nb == 0) {
/* sinon on insère un nouvel enregistrement avec ce nom,
* son compteur initialisé à 1
* ainsi que la date et l'heure actuelle
*/
$req_ins="INSERT INTO compteur (page,nombre,date,heure) VALUES ('$page',1,now(),curtime() )";
mysql_query($req_ins,$connexion);
// echo "page $page : 1er accès";
}
?>
5-ensuite j'ai creer le fichier "params.inc.php" voici son code:
<?
$hote="127.0.0.1";
$login="root";
$mdp="";
$bd="basecompteur";
?>
6-enfin j'ai creer le fichier "test.php" voici son code:
<? require("compteur.php"); ?>
pour tester ton compteur tu dois ouvrir ton local web puis choisir le dossier compteur et cliquer sur le fichier test.php
le resultat sera une page vide mais pour voir si ton compteur marche tu dois ouvrir ta base de donnees et l'enregistrement ajouté dans la table....
Si tu veux que la page "test.php" affiche le nombre de visite tu dois y ajouter un morceau de code , je peux t'aider a le faire si tu veux
bonne chance
1-j'ai creer une nouvelle base de donner ayant comme nom "basecompteur"
2-j'ai utiliser cette requete pour creer une nouvelle table:
# Structure de la table `compteur`
CREATE TABLE compteur (
id smallint(6) NOT NULL auto_increment,
page varchar(255) NOT NULL default '',
nombre smallint(6) NOT NULL default '0',
date date NOT NULL default '0000-00-00',
heure time NOT NULL default '00:00:00',
PRIMARY KEY (id)
) TYPE=MyISAM;
3-j'ai creer le repertoir "compteur" dans le dossier "www"
4-dans ce repertoir j'ai creer le fichier "Compteur.php" voici son code:
<?
/* inclure le fichier de paramètres
* et se connecter à la base de données
*/
require ("params.inc.php");
$connexion= mysql_connect($hote,$login,$mdp);
mysql_select_db($bd, $connexion);
// récupère le nom complet (précédé du chemin) du fichier de la page en cours d'exécution
$page=$PHP_SELF;
// exécute une requête pour chercher ce nom dans la table
$req="select * from compteur where page='$page'";
$resultat=mysql_query($req,$connexion);
$nb= mysql_num_rows($resultat);
// si le nom du fichier se trouve déjà dans la table,
if ($nb == 1) {
$ligne= mysql_fetch_array($resultat);
/* alors on récupère la valeur du champ compteur,
on l'incrémente et on met à jour le champ compteur
ainsi que la date et l'heure actuelle
*/
$nombre = ++ $ligne[nombre];
$req_maj="UPDATE compteur SET nombre='$nombre', date=now(), heure=curtime() WHERE page='$page' ";
mysql_query($req_maj,$connexion);
// echo "page $page : $nombre ème accès le $ligne[date] à $ligne[heure]";
}
elseif ($nb == 0) {
/* sinon on insère un nouvel enregistrement avec ce nom,
* son compteur initialisé à 1
* ainsi que la date et l'heure actuelle
*/
$req_ins="INSERT INTO compteur (page,nombre,date,heure) VALUES ('$page',1,now(),curtime() )";
mysql_query($req_ins,$connexion);
// echo "page $page : 1er accès";
}
?>
5-ensuite j'ai creer le fichier "params.inc.php" voici son code:
<?
$hote="127.0.0.1";
$login="root";
$mdp="";
$bd="basecompteur";
?>
6-enfin j'ai creer le fichier "test.php" voici son code:
<? require("compteur.php"); ?>
pour tester ton compteur tu dois ouvrir ton local web puis choisir le dossier compteur et cliquer sur le fichier test.php
le resultat sera une page vide mais pour voir si ton compteur marche tu dois ouvrir ta base de donnees et l'enregistrement ajouté dans la table....
Si tu veux que la page "test.php" affiche le nombre de visite tu dois y ajouter un morceau de code , je peux t'aider a le faire si tu veux
bonne chance
apparament il y a une faute de syntax dans le fichier "Compteur.php" . Envoi nous le code que tu a saisie dans ce fichier, on pourra peut etre t aidé.......
a+
a+
Bonjour,
ça pourrait pas venir du caractère : (deux points)
ça pourrait pas venir du caractère : (deux points)
include_path='.:/data/apache/php/mmp_lib'au début de l'instruction require ?
bonsoir,
j'ai suivi toute les étapes que t'as données, j'ai testé ,l'enregistrement est resté à 1.
en tout cas j'aimerais bien éffectivement que tu m'aides pour que la page "test.php" affiche le nombre de visite,
merci bien tunisien pour tes réponses
j'ai suivi toute les étapes que t'as données, j'ai testé ,l'enregistrement est resté à 1.
en tout cas j'aimerais bien éffectivement que tu m'aides pour que la page "test.php" affiche le nombre de visite,
merci bien tunisien pour tes réponses
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
c'est bon ça marche tunisien, il comptait qu'une fois la page.
dis moi comment faire pour afficher le nombre de visite.
si c'est pas trop demandé, j'aimerais te demander encore un dernier truc, est ce que tu peux modifier le script afin que le nombre de visite revient à 0 après 50, c'est à dire qu'il recompte de 0 à chaque fois qu'il arrive à 50 .
merci encore
dis moi comment faire pour afficher le nombre de visite.
si c'est pas trop demandé, j'aimerais te demander encore un dernier truc, est ce que tu peux modifier le script afin que le nombre de visite revient à 0 après 50, c'est à dire qu'il recompte de 0 à chaque fois qu'il arrive à 50 .
merci encore
salut fredy7
je vais essyer de faire le 2 en 1:
Pour que "test.php" affiche le nombre de visites et que ce nombre revient a 1 automatiquement quand il arrive a 50 tu dois modifier le fichier "Compteur.php". Pour eviter les problemes, je te donne le code complet de ce fichier ,t a qu a supprimer l'ancien "compteur.php" et le remplacer par celui-ci:
<?
/* inclure le fichier de paramètres
* et se connecter à la base de données
*/
require ("params.inc.php");
$connexion= mysql_connect($hote,$login,$mdp);
mysql_select_db($bd, $connexion);
// récupère le nom complet (précédé du chemin) du fichier de la page en cours d'exécution
$page=$PHP_SELF;
// exécute une requête pour chercher ce nom dans la table
$req="select * from compteur where page='$page'";
$resultat=mysql_query($req,$connexion);
$nb= mysql_num_rows($resultat);
// si le nom du fichier se trouve déjà dans la table,
if ($nb == 1) {
$ligne= mysql_fetch_array($resultat);
/* alors on récupère la valeur du champ compteur,
on l'incrémente et on met à jour le champ compteur
ainsi que la date et l'heure actuelle
*/
$nombre = ++ $ligne[nombre];
// echo "page $page : $nombre ème accès le $ligne[date] à $ligne[heure]";
if ($nombre>50)
{$req_maj="UPDATE compteur SET nombre=1, date=now(), heure=curtime() WHERE page='$page' ";
echo "Le nombre de visite est: 1";}
else
{
$req_maj="UPDATE compteur SET nombre='$nombre', date=now(), heure=curtime() WHERE page='$page' ";
echo "Le nombre de visite est: ".$nombre;
}
mysql_query($req_maj,$connexion);
}
elseif ($nb == 0) {
/* sinon on insère un nouvel enregistrement avec ce nom,
* son compteur initialisé à 1
* ainsi que la date et l'heure actuelle
*/
$req_ins="INSERT INTO compteur (page,nombre,date,heure) VALUES ('$page',1,now(),curtime() )";
mysql_query($req_ins,$connexion);
// echo "page $page : 1er accès";
echo "Le nombre de visite est: 1";
}
?>
je vais essyer de faire le 2 en 1:
Pour que "test.php" affiche le nombre de visites et que ce nombre revient a 1 automatiquement quand il arrive a 50 tu dois modifier le fichier "Compteur.php". Pour eviter les problemes, je te donne le code complet de ce fichier ,t a qu a supprimer l'ancien "compteur.php" et le remplacer par celui-ci:
<?
/* inclure le fichier de paramètres
* et se connecter à la base de données
*/
require ("params.inc.php");
$connexion= mysql_connect($hote,$login,$mdp);
mysql_select_db($bd, $connexion);
// récupère le nom complet (précédé du chemin) du fichier de la page en cours d'exécution
$page=$PHP_SELF;
// exécute une requête pour chercher ce nom dans la table
$req="select * from compteur where page='$page'";
$resultat=mysql_query($req,$connexion);
$nb= mysql_num_rows($resultat);
// si le nom du fichier se trouve déjà dans la table,
if ($nb == 1) {
$ligne= mysql_fetch_array($resultat);
/* alors on récupère la valeur du champ compteur,
on l'incrémente et on met à jour le champ compteur
ainsi que la date et l'heure actuelle
*/
$nombre = ++ $ligne[nombre];
// echo "page $page : $nombre ème accès le $ligne[date] à $ligne[heure]";
if ($nombre>50)
{$req_maj="UPDATE compteur SET nombre=1, date=now(), heure=curtime() WHERE page='$page' ";
echo "Le nombre de visite est: 1";}
else
{
$req_maj="UPDATE compteur SET nombre='$nombre', date=now(), heure=curtime() WHERE page='$page' ";
echo "Le nombre de visite est: ".$nombre;
}
mysql_query($req_maj,$connexion);
}
elseif ($nb == 0) {
/* sinon on insère un nouvel enregistrement avec ce nom,
* son compteur initialisé à 1
* ainsi que la date et l'heure actuelle
*/
$req_ins="INSERT INTO compteur (page,nombre,date,heure) VALUES ('$page',1,now(),curtime() )";
mysql_query($req_ins,$connexion);
// echo "page $page : 1er accès";
echo "Le nombre de visite est: 1";
}
?>
bonsoir,
merci beaucoup tunisien ,ça marche très bien. je constate juste que de temps en temps ça m'affiche le même nombre de visite 2 fois consécutive, ça arrive 2 ou 3 fois dans le cycle de 50. ce qui fait qu'on arrivant à 50 le nombre réel de visite est 52 ou 53.
j'espère que je pourrai te poser d'autres questions quand j'en aurai.
merci encore d'avoir pris de ton temps pour m'aider.
merci beaucoup tunisien ,ça marche très bien. je constate juste que de temps en temps ça m'affiche le même nombre de visite 2 fois consécutive, ça arrive 2 ou 3 fois dans le cycle de 50. ce qui fait qu'on arrivant à 50 le nombre réel de visite est 52 ou 53.
j'espère que je pourrai te poser d'autres questions quand j'en aurai.
merci encore d'avoir pris de ton temps pour m'aider.
Salut fredy7
Voila mon email:
tanrtn@yahoo.fr
contact moi si tu a besoin d'aide, je ferai de mon mieux....
a+
Voila mon email:
tanrtn@yahoo.fr
contact moi si tu a besoin d'aide, je ferai de mon mieux....
a+
Bonjour,
J'ai fait comme Tunisien a dit, mais sa ne m'affiche pas le nombre de visites!
Comment faire pour qu'il s'affiche?
Merci d'avance
J'ai fait comme Tunisien a dit, mais sa ne m'affiche pas le nombre de visites!
Comment faire pour qu'il s'affiche?
Merci d'avance
bonjour,
je pense que la réponse est dans:
echo "Le nombre de visite est: 1";
tunisien va peut être te répondre mieuc que moi
bonne chance
je pense que la réponse est dans:
echo "Le nombre de visite est: 1";
tunisien va peut être te répondre mieuc que moi
bonne chance
essaie ça
j'ai enlevé les // devant chaque echo
dis moi si ça marche
<?
/* inclure le fichier de paramètres
* et se connecter à la base de données
*/
require ("params.inc.php");
$connexion= mysql_connect($hote,$login,$mdp);
mysql_select_db($bd, $connexion);
// récupère le nom complet (précédé du chemin) du fichier de la page en cours d'exécution
$page=$PHP_SELF;
// exécute une requête pour chercher ce nom dans la table
$req="select * from compteur where page='$page'";
$resultat=mysql_query($req,$connexion);
$nb= mysql_num_rows($resultat);
// si le nom du fichier se trouve déjà dans la table,
if ($nb == 1) {
$ligne= mysql_fetch_array($resultat);
/* alors on récupère la valeur du champ compteur,
on l'incrémente et on met à jour le champ compteur
ainsi que la date et l'heure actuelle
*/
$nombre = ++ $ligne[nombre];
$req_maj="UPDATE compteur SET nombre='$nombre', date=now(), heure=curtime() WHERE page='$page' ";
mysql_query($req_maj,$connexion);
echo "page $page : $nombre ème accès le $ligne[date] à $ligne[heure]";
}
elseif ($nb == 0) {
/* sinon on insère un nouvel enregistrement avec ce nom,
* son compteur initialisé à 1
* ainsi que la date et l'heure actuelle
*/
$req_ins="INSERT INTO compteur (page,nombre,date,heure) VALUES ('$page',1,now(),curtime() )";
mysql_query($req_ins,$connexion);
echo "page $page : 1er accès";
}
?>
j'ai enlevé les // devant chaque echo
dis moi si ça marche
<?
/* inclure le fichier de paramètres
* et se connecter à la base de données
*/
require ("params.inc.php");
$connexion= mysql_connect($hote,$login,$mdp);
mysql_select_db($bd, $connexion);
// récupère le nom complet (précédé du chemin) du fichier de la page en cours d'exécution
$page=$PHP_SELF;
// exécute une requête pour chercher ce nom dans la table
$req="select * from compteur where page='$page'";
$resultat=mysql_query($req,$connexion);
$nb= mysql_num_rows($resultat);
// si le nom du fichier se trouve déjà dans la table,
if ($nb == 1) {
$ligne= mysql_fetch_array($resultat);
/* alors on récupère la valeur du champ compteur,
on l'incrémente et on met à jour le champ compteur
ainsi que la date et l'heure actuelle
*/
$nombre = ++ $ligne[nombre];
$req_maj="UPDATE compteur SET nombre='$nombre', date=now(), heure=curtime() WHERE page='$page' ";
mysql_query($req_maj,$connexion);
echo "page $page : $nombre ème accès le $ligne[date] à $ligne[heure]";
}
elseif ($nb == 0) {
/* sinon on insère un nouvel enregistrement avec ce nom,
* son compteur initialisé à 1
* ainsi que la date et l'heure actuelle
*/
$req_ins="INSERT INTO compteur (page,nombre,date,heure) VALUES ('$page',1,now(),curtime() )";
mysql_query($req_ins,$connexion);
echo "page $page : 1er accès";
}
?>
Bonjour,
En effet sa marche, mais sa ne marche que pour une page, alor que moi je veut que le script marche page par page!
comment faire svp?
En effet sa marche, mais sa ne marche que pour une page, alor que moi je veut que le script marche page par page!
comment faire svp?
Bonjour,
C'est ce que j'ai fait, mais par exemple je l'avait mit sur une seule page le compteur, et il en était à 13 hits, je le met sur une autre page, et je la visite desuite après, et sa me met 14hits.
Donc je voudrai savoir comment faire pour que le compteur soit unique à une seule page!
C'est ce que j'ai fait, mais par exemple je l'avait mit sur une seule page le compteur, et il en était à 13 hits, je le met sur une autre page, et je la visite desuite après, et sa me met 14hits.
Donc je voudrai savoir comment faire pour que le compteur soit unique à une seule page!