Une solution pour compter le nombre de personnes qui ont visité le site

Répondre
Paphio-King
le 09/07/2014 à 17:43
Paphio-King
Bonjour a touts et tous.
Je viens vers vous car je suis un peut perdu pour faire l'addition de mes visiteurs.
J'ai trouver un petit tuto sur le comptage des personnes qui sont actuellement en ligne sur le site, et j'ai rajouter un ID en clé primaire dans la base de données ou j'aimerais compter le nombre id dans la base pour qu'ils fassent le nombre de visite sur le site.
Voici mon code de connexion ou faut il rajouter le id dans les requette sql
<?php	
require './config/connectMysql.php';

$comptage = mysql_query('SELECT COUNT(id) FROM connectes WHERE id=visites');
$compte_visiteurs = mysql_fetch_array($comptage);

$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){
mysql_query('INSERT INTO connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\',' . time() . ')');
}else{
mysql_query('UPDATE connectes SET timestamp=' . time() . 'WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
}

$timestamp_5min = time() - (60 * 5);
mysql_query('DELETE FROM connectes WHERE timestamp < ' . $timestamp_5min);

$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes');
$donnees = mysql_fetch_array($retour);
?>


Et voici le code qui affiche les données le premier fonctionne très bien le deuxiéme ne fonctionne pas.

<?php echo '<p class="compteur">Il y a actuellement <span class="color_visite">' . $donnees['nbre_entrees'] . '</span> Visiteurs connectés sur le site.</p>'; ?>

<?php echo '<p class="compteur">Vous avez <span class="color_visite">' . $compte_visiteurs['id'] . '</span> Visiteurs.</p>'; ?>


Merci d'avance pour vos réponces
Paphioi-King
<-- Paphio-King -->
LupusMic
le 09/07/2014 à 20:39
LupusMic
1. mysql_real_escape_string est ton ami, et son collègue sprintf permet de construire les requêtes de manière lisible.
<?php
$sql = sprintf('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip='%s'''
, mysql_real_escape_string($_SERVER['REMOTE_ADDR']));
mysql_query($sql);


2. Quel est le sens de cette requête ?
SELECT COUNT(id) FROM connectes WHERE id=visites


3. Timestamp est un type MySQL, ça m'étonnerais que ce SQL soit accepté.
UPDATE connectes SET timestamp=


4. Quand tu appelles une fonction, quelle quelle soit, si sa documentation explicite des codes retours, tu dois les vérifier. C'est entre autres le cas avec mysql_query.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Paphio-King
le 10/07/2014 à 13:05
Paphio-King
Et bien je te remercie beaucoup LupusMic je vais travailler avec cela, je reviendrais vous voir certainement pour d'autre souci.
Merci et a bientôt.
<-- Paphio-King -->
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours