Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: roboty4000.free.fr le le 17-11-2004 a 17:33:32

Titre: Question au sujet d'un script pour un compteur...
Posté par: roboty4000.free.fr le le 17-11-2004 a 17:33:32

Bonjour.
j'ai recopier d'un site un compteur de visite super, mais le seul probleme, c'est que si une personne s'ammuse a actualiser 50x il y auras 50 visites de plus(vous voyez ce que je veux dire). Donc ce que je voudrais faire, c'est modifier le script et le refaire de sotre a ce que le compteur ne comptabilise que un passage de la personne(si elle revines 10 fois sur le site, ca ne feras que une visite car le compteur l'auras reconnu et ne ferras pas plus un, si une autre personne n'est pas encore venu de la journée et vines sur la page, ca fait +1... mais ce que je veux, c'est que si je me conecte aujourd'hui ca fait +1 et demain+1 encore(en faite une visite de comptabiliser par jour))...
Voici mon script que j'ai:

un fichier config.php avec:

Code:
<?php
// Url de votre base de donnée. Généralement, c'est localhost.
$Serveur_db ="lien de connexion a la base sql";

// Votre login/identification pour votre base de donnée
$User_db ="login";

// Votre mot de passe pour la base de donnée
$Passe_db ="mot de passe";

// Nom de votre base de donnée
$Base_name="nom de la base de donnée";

// Connection à MySQL
$Connect_db = mysql_connect($Serveur_db,$User_db,$Passe_db);

// Sélection de la base de donnée
mysql_select_db($Base_name,$Connect_db);
?>
aussi, j'ai un autre fichier nomé cpt.php avec:

Code:
<?php
// On include le fichier " config.php "
include("menus/config.php");

// La création d'un compteur de visite est facile comme tout !

// On regarde si les données sont enregistrées ou non
$requete = mysql_query("select * from compteur_visite");

// Nombre d'enregistrement
$nb = mysql_numrows($requete);

// On regarde le nombre d'enregistement
if($nb ==0)
{
// si il y a 0 enregistrement on ajoute des données
mysql_query("insert into compteur_visite values('1')");
}
else // sinon on passe
{
// et on met à jour le nombre de visite
mysql_query("update compteur_visite set nb=nb+1");
}


// Affiche le nombre de visite

// Sélection de la table
$requete = mysql_query("select * from compteur_visite");

// et on affiche le nombre de visite
$j = mysql_fetch_array($requete);
$nb = $j[nb];
print ''.$nb.' ème';

// On ferme la connection
mysql_close();
?>
et dans la base sql, j'ai mis:

Code:
#
#Structure de la table `compteur_visite`
#

CREATE TABLE `compteur_visite` (
`nb` smallint(11) NOT NULL default '0'
) TYPE=MyISAM;

#
#Contenu de la table `compteur_visite`
#

INSERT INTO `compteur_visite` VALUES (555);


Merci de me répondre si vous savez.

Titre: Re:Question au sujet d'un script pour un compteur...
Posté par: Gandalflemaia le le 17-11-2004 a 17:53:46

En faite le truc c'est que tu ajoute deux champs dans ta base de donnée un pour la date et l'autre pour l'ip.

Ensuite à chaque fois que quelqu'un se connecte tu recherche toutes les lignes ayant une date différente de maintenant - 24h, celle que tu trouve tu les virent de la base.

Puis tu regarde si l'ip de la personne qui à lancer la page existe déjà:

Si oui:
Il se passe rien

Si non:
Le compteur vaut +1
Tu enregistre son ip, ainsi que l'heure et la date actuel

Titre: Re:Question au sujet d'un script pour un compteur...
Posté par: roboty4000.free.fr le le 17-11-2004 a 18:47:57

je m'en doutais un eput, mais comment faire?


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.