compteur de visiteur unique

ludodoludujodu
Invité n'ayant pas de compte PHPfrance

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

Eléphant du PHP | 424 Messages

22 févr. 2006, 22:43

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

Balises PHP quand tu nous tiens !!!
Youpi Youpi Yo !

ludodoludujodu
Invité n'ayant pas de compte PHPfrance

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

HD
Mammouth du PHP | 1181 Messages

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...
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

ludodoludujodu
Invité n'ayant pas de compte PHPfrance

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" :)

ludodoludujodu
Invité n'ayant pas de compte PHPfrance

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();
?> 

HD
Mammouth du PHP | 1181 Messages

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") 
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

ludodoludujodu
Invité n'ayant pas de compte PHPfrance

22 févr. 2006, 23:05

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