compteur de visiteur unique

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : compteur de visiteur unique

par ludodoludujodu » 22 févr. 2006, 23:05

là sa a l'air d'être bon merci

par HD » 22 févr. 2006, 23:02

deja
("SELECT * FROM compteurs WHERE ip='$ip_courante' AND date='$date_today' ") 
au lieu de
("SELECT * FROM compteurs WHERE ip='$ip_courante' AND date='$date_today") 

par ludodoludujodu » 22 févr. 2006, 22:58

J'ai oublié de dire, j'ai modifié mon code:
<?php
// Connexion à MySQL
include("config.php");
mysql_connect($host,$login,$passe);
mysql_select_db($base);

//annonce des variables
$date_today = date('d/m/Y'); 
$ip_courante = $_SERVER['REMOTE_ADDR'];

// compte le nombre de foi que l'ip et la date du jour sont entrées
$req = mysql_query("SELECT * FROM compteurs WHERE ip='$ip_courante' AND date='$date_today") or die(mysql_error());
$nb_entries = mysql_num_rows($req);

// si la valeur renvoyée n'est pas égale a 1
if($nb_entries != 1)
{
// on insére l'ip et la date si elle n'est pas déjà entrée (l'ip)
$sql = "INSERT INTO compteurs VALUES('$ip_courante','$date_today')";
mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error()); 

// on compte le nombre d'entrée dans la table
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM compteurs');
$donnees = mysql_fetch_array($retour);

// affiche le nombre de visiteurs
echo 'Vous êtes le visiteur n° ' . $donnees['nbre_entrees'] . '.';
}
else
{
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM compteurs');
$donnees = mysql_fetch_array($retour);
// on compte le nombre d'entrée dans la table

// affiche le nombre de visiteurs
echo 'Vous êtes le visiteur n° ' . $donnees['nbre_entrees'] . '.';
}

// On ferme la connection
mysql_close();
?> 

par ludodoludujodu » 22 févr. 2006, 22:56

là j'ai "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''22/02/2006' at line 1" :)

par HD » 22 févr. 2006, 22:48

difficile de tester chez soi quand on n'a pas la base de données. tu l'as ecrit toi meme ?
essaie de le tester et s'il y a des messages d'erreur montre les nous et on verra ensemble...

par ludodoludujodu » 22 févr. 2006, 22:46

Bun la question c'est est-ce correct et le problème je veux que l'on me dise s'il y en a un

par Dom! » 22 févr. 2006, 22:43

C'est quoi la question ou le probleme ? :shock:

Balises PHP quand tu nous tiens !!!

compteur de visiteur unique

par ludodoludujodu » 22 févr. 2006, 22:40

Bonjour, je ne suis pas débutant en php mais je ne suis pas un expert, j'ai fais ce code:
<?php
mysql_connect($host,$login,$passe);
mysql_select_db($base);

$date_today = date('d/m/Y'); 
$ip_courante = $_SERVER['REMOTE_ADDR'];
SELECT * FROM compteurs WHERE ip='$ip_courante' AND date='$date_today' 

$req = mysql_query('SELECT * FROM compteurs WHERE ip='$ip_courante' AND date='$date_today'); 
$nb_entries = mysql_num_rows($req);

if($nb_entries != 1)
{
$sql = "INSERT INTO compteurs VALUES('$ip_courante','$date_today')";
mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error()); 
// on insére l'ip et la date si elle n'est pas déjà entrée (l'ip)

$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM compteurs');
$donnees = mysql_fetch_array($retour);
// on compte le nombre d'entrée dans la table

// affiche le nombre de visiteurs
echo 'Vous êtes le visiteur n° ' . $donnees['nbre_entrees'] . '.';
}
else
{
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM compteurs');
$donnees = mysql_fetch_array($retour);
// on compte le nombre d'entrée dans la table

// affiche le nombre de visiteurs
echo 'Vous êtes le visiteur n° ' . $donnees['nbre_entrees'] . '.';
}

?>


mais je ne suis pas sur du résultat ( en fait le code ci-dessus devrait vérifier si l'ip du visiteur n'est pas dans la table mysql pour le jour en cours et si elle n'y est pas il l'insére et il compte le nombre d'entrée dans la table, cela donne le nombre de visiteur). Merci d'avance pour vos réponses