TUTO: afficher le nombre de visiteur en direct

Suivre ce topic
Ce topic est suivi par : D_S
D_S

D_S Le 2 décembre 2016 à 03:12 (Édité le 25 janvier 2019 à 17:52)

salut 
jai suivi le tuto de PRIMFX portant sur l'affichage du nombre de visiteur en ligne sur un site. dans ce tuto lorsqu'il change de page, le nombre de visiteur reste inchangé. j'ai reproduit le meme code mais quand je change de page, le nombre de visiteur augmente de 1. j'ai besoin d'aide svp. MERCI!
Balatharas

Balatharas Le 2 décembre 2016 à 17:15 (Édité le 2 décembre 2016 à 17:36)

Salut
Et si tu recommençais le tuto a partir du moment où ça bug ?
Ah et tu n'est pas dans la bonne catégorie, il aurait fallu mettre le topic dans PROGRAMMATION / PHP
D_S

D_S Le 2 décembre 2016 à 21:42

ok merci Beignet
Balatharas

Balatharas Le 2 décembre 2016 à 22:38

T'était pas obligé de recréer un topic 
TheOldNoob

TheOldNoob Le 3 décembre 2016 à 07:14

Salut l'ami,

C'est possible d'avoir ton code? Parce que pour ma part, j'ai encore aucun dont divinatoire :(
PrimFX

PrimFX Le 4 décembre 2016 à 19:11

[Topic déplacé vers Programmation > PHP]
D_S

D_S Le 7 décembre 2016 à 03:15

TheOldNoob voici code complet

connection.php

<?php
     function db_connect() {
         try {
                 $host = 'localhost';
                 $dbname = 'espace_membre';
                 $user = 'root';
                 $password = '';
                 $db = new PDO('mysql:host='.$host.';dbname='.$dbname.'', $user,$password);
                 return $db;
         } catch (Exception $e) {
             die('Erreur de connexion : ' . $e->getMessage());
        }

    };
?>

--------------------------------
index.php

<?php 
include('connection.php');
$db=db_connect();
$tps_session = 15;
$tps_actuel = date("U");
$user_ip = $_SERVER['REMOTE_ADDR'];
$req_ip_exist = $db->prepare('SELECT * FROM online user_ip = ?');
$req_ip_exist->execute(array($user_ip));
$ip_exist = $req_ip_exist->rowCount();
if ($ip_exist == 0) 
{
   $add_ip = $db->prepare('INSERT INTO online(user_ip,tps) VALUES(?,?)');
   $add_ip->execute(array($user_ip,$tps_actuel));
}
else
{
$update_ip = $db->prepare('UPDATE online SET tps = ? WHERE user_ip = ?');
$update_ip->execute(array($tps_actuel,$user_ip));
}
$session_delete_tps = $tps_actuel - $tps_session;
$del_ip = $db->prepare('DELETE FROM online WHERE tps < ?');
$del_ip->execute(array($session_delete_tps));
$show_user_nbr = $db->query('SELECT * FROM online');
$user_nbr = $show_user_nbr->rowCount();
?>
--------------------------------
p2.php

<?php 
include('user_nbr_live.php');
?>
<!DOCTYPE html>
<html>
<head>
<title>visiteurs PHP</title>
<meta charset="utf-8">
</head>
<body>
page 2 - Actuellement <?php echo $user_nbr; ?> utilisateur<?php if($user_nbr != 1) echo "s" ?> en ligne <br />
<a href="index.php"> Aller à index </a>
</body>
</html>
---------------------------------------------
user_nbr_live.php

<?php 
include('connection.php');
$db=db_connect();
$tps_session = 15;
$tps_actuel = date("U");
$user_ip = $_SERVER['REMOTE_ADDR'];
$req_ip_exist = $db->prepare('SELECT * FROM online user_ip = ?');
$req_ip_exist->execute(array($user_ip));
$ip_exist = $req_ip_exist->rowCount();
if ($ip_exist == 0) 
{
   $add_ip = $db->prepare('INSERT INTO online(user_ip,tps) VALUES(?,?)');
   $add_ip->execute(array($user_ip,$tps_actuel));
}
else
{
$update_ip = $db->prepare('UPDATE online SET tps = ? WHERE user_ip = ?');
$update_ip->execute(array($tps_actuel,$user_ip));
}
$session_delete_tps = $tps_actuel - $tps_session;
$del_ip = $db->prepare('DELETE FROM online WHERE tps < ?');
$del_ip->execute(array($session_delete_tps));
$show_user_nbr = $db->query('SELECT * FROM online');
$user_nbr = $show_user_nbr->rowCount();
?>

MERCI!
Balatharas

Balatharas Le 7 décembre 2016 à 14:33

On y est presque xD
Quand tu veut mettre du code, clique d'abord sur [CODE] c'est fait pour ça, c'est pas dur quand même...
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte