Voyons comment afficher le nombre de personnes qui surfent sur votre site internet en direct simplement avec un peu de PHP !
- index.php
<?php include('user_nbr_live.php'); ?>
<html>
<head>
<title>TUTO PHP</title>
<meta charset="utf-8">
</head>
<body>
Page 1 - Actuellement <?php echo $user_nbr; ?> utilisateur<?php if($user_nbr != 1) { echo "s"; } ?> en ligne<br />
<a href="p2.php">Go to p2</a>
</body>
</html>
- p2.php
<?php include('user_nbr_live.php'); ?>
<html>
<head>
<title>TUTO 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">Go to index</a>
</body>
</html>
- user_nbr_live.php
<?php
$bdd = new PDO("mysql:host=127.0.0.1;dbname=espace_membre;charset=utf8", "root", "");
$temps_session = 15;
$temps_actuel = date("U");
$user_ip = "11588";
$req_ip_exist = $bdd->prepare('SELECT * FROM online WHERE user_ip = ?');
$req_ip_exist->execute(array($user_ip));
$ip_existe = $req_ip_exist->rowCount();
if($ip_existe == 0) {
$add_ip = $bdd->prepare('INSERT INTO online(user_ip,time) VALUES(?,?)');
$add_ip->execute(array($user_ip,$temps_actuel));
} else {
$update_ip = $bdd->prepare('UPDATE online SET time = ? WHERE user_ip = ?');
$update_ip->execute(array($temps_actuel,$user_ip));
}
$session_delete_time = $temps_actuel - $temps_session;
$del_ip = $bdd->prepare('DELETE FROM online WHERE time < ?');
$del_ip->execute(array($session_delete_time));
$show_user_nbr = $bdd->query('SELECT * FROM online');
$user_nbr = $show_user_nbr->rowCount();
?>
Votre commentaire