Mettre un memenbre hors lign, en lign, ou absence

ivan -  
 Waxtime -
Bonjour,

j'ai ce code :


Hook::add("KERNEL.MENU.TOP.HEADER.ADD.Pseudo",function(){
if(isset($_SESSION["id"])){
$id = $_SESSION["id"];
$pseudo = 'Bienvenue, '.sex2color(id2sex($id),$id).' (en ligne)';
}else
$pseudo = 'Bienvenue, Visiteur (hors ligne)';

echo $pseudo;



donc la il m'affiche bienvenue tester (en ligne)

je voudrais (en ligne )

apparaît un sélect afin que chaque membre sectionne

si'il sont en ligne, hors ligne ou absent

avec un select

<select>
<option value="hors ligne">hors ligne</option>
<option value="ligne"> ligne</option>
<option value="Absence">Absence</option>
</select>

comment je doit proceder

merci

A voir également:

1 réponse

Waxtime
 
Salut,

Il faut déjà que votre base de données ai une table dans laquelle soit stocké cette valeur sur le statut.
Après vous vérifier ce statut et le changez à chaque fois qu'une action de l'utilisateur est effectué:
Lors de la connexion vous passez le statut à en ligne, lors du clic sur déconnexion vous passez cette valeur à hors ligne, lors du clic sur absent vous passez cette valeur à absent etc...

Sauf que vous devez penser aux utilisateurs qui ne vont pas utiliser le bouton déconnecté lorsqu'il quitte le site. Pour cela vous devez vérifier cet état quand les personnes sont connectées. Les sessions PHP ont une durée limité et vous pouvez les renouveler à chaque action de l'utilisateur(changement de page, nouveau message..etc je suppose qu'il s'agit d'un forum ou d'un chat).
Vous pouvez aussi vérifier les sessions de chaque utilisateur et le temps depuis leur dernière action(via un formulaire hidden par exemple) pour voir s'ils ont toujours le statut 'en ligne' ainsi et décider que après un temps < à la durée de la session d'inactivité celui ci sera considéré comme 'hors ligne'.

Les réponses à vos questions ne sont pas dans le développement mais dans la manière que vous allez utiliser pour connaître l'état de la connexion de chaque utilisateur à un moment donné(déterminé par l'affichage des personnes connectés).
Éventuellement AJAX et/ou le rafraîchissement régulier de la page vous donnera l'état des connexions pratiquement en temps réel(tout dépends de la durée entre chaque actualisation du code vous permettant de déterminer les statuts des membres).
0