Sessions et Who's Online

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 : Sessions et Who's Online

par i974 » 22 août 2005, 14:43

Après quelques recherches approfondies sur le forum ^^
j'ai trouvé un post très interressant: ici


J'ai tenté de m'en inspirer pour faire ce compteur de membres connectés
Je le poste ici au cas où ca pourrait servir à quelqu'un, ou aux autres
pour corriger mes fautes eventuelles (comme dit plus haut, je suis un debutant)

Ce qu'il manque à ce script:
-la prise en charge du changement de jour je crois ^^

car si quelqu'un se log à 23h59, et qu'a 00h01 il n'est plus là, il fodra attendre un jour encore pour qu'il soit viré de la base :x

J'attends vos remarques ^^

$date = date("Y-m-d");
$time=(date("H") * 60) + date("i"); //heure du jour en minutes
$heuremax = 5; //temps de connexion max: 5 minutes
$limite = $time-$heuremax;



if (isset($_SESSION['pseudo']))
{
	
	$qui = $_SESSION['pseudo'];
	//echo $qui;
	
	//On verifie si il est ds la table
	$sql = "SELECT time FROM tml_sessions WHERE qui='$qui'";
	$res = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
	//$ligne = mysql_fetch_object ($res);
	$num_rows = mysql_num_rows($res);
	if ($num_rows>0) { // Si OUI on l'update
	
		$sql = "UPDATE tml_sessions SET time='$time' WHERE qui='$qui'";
		$res=mysql_query($sql) or die ("requete invalide update session");
			
	} else  //SI NON on l'ajoute ds la base
	{
	$sql = "INSERT INTO tml_sessions(qui,time) VALUES('$qui','$time')";
	$res = mysql_query($sql) or die ("requete invalide insertion ds la base");
	}
	
}

	//SUPPRESSION DES VIEILLES DONNEES
	$sq2 = "DELETE FROM tml_sessions WHERE time<'$limite'";
	$res = mysql_query($sq2) or die ("erreur de suppression dans la base");
	
// MODULE MEMBRES CONNECTES
//
//
	
	$sql = "SELECT * FROM tml_sessions";
	$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
	if (mysql_num_rows($req) > 0) 
	{
	echo "<span class=\"Style2\">Membres en ligne:";	
 	while ($valeur = mysql_fetch_array($req))
	{ 
		$who = $valeur["qui"];
		echo "<b> <a href='info_mbr.php?who=$who' title='Voir les infos sur $who'>$who</a></b>";
	}
	echo "</span><br>";
	}
//
//
// FIN MODULE MEMBRES CONNECTES

Sessions et Who's Online

par i974 » 22 août 2005, 13:06

Bonjour,
je souhaiterai realiser un petit script qui afficherait qui est connecté sur le site [avec une marge d'erreur de 5 min par exemple]

Cependant, je ne sais pas vraiment par où commencé :/

L'identification sur le site, s'effectue par login et mot de passe, qui ouvre ensuite une session.

Si vous aviez des idées pour me lancer sur des pistes ^^
J'ai parcouru un peu le net, et j'ai trouvé quelque bouts de scripts qui ne m'ont pas beaucoup aidé, car ils semblent trop compliqués pour ce que je veux faire.

Voilà ;)
Merci à vous