CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PHP/Mysql] Users en ligne

Wistaro
Wistaro
Niveau 6
10 décembre 2011 à 19:31:58

Salu,
Sur mon site, je voudrais que des que un membre se connecte, on enregistre son pseudo dans une table apeller "enligne" , pour que apres on puisse voir qui est en ligne...
Cela fait lomptemps que je cherrche alors si vous pourier maider ce serait simpa...

Deja,moi jai fait que lorsque on se connecte , cela nous connecte et nous envoie sur une page "enligne.php" puis ensuite vers la page principale du site
La page "enligne.php" est la page ou je vais enregsitrer le pseudo su membre pour l'ajouter dans ma table "enligne"
Voici le code de la page:
/**************
<?php
session_start();
include("includes/connect_db.php");
include("includes/head.php");?>
<tr>
<td colspan="6">

<h2><center><b>En ligne</b></center></h2>
<script language="JavaScript">
//PLF-http://www.jejavascript.net/

setTimeout("window.location='http://pspflash.net84

.net/index.php'",0000); // delai en millisecondes
</script>
<?php
('INSERT INTO enligne(pseudo, ID) VALUES(:pseudo, :ID)');
(array(
'pseudo' => $_SESSION['pseudo'] ,
'ID' => $_SESSION['ID'] ,

));

?>
/*******************
Sans le slash et les etoile bien sur.....
Mais malheureusement cela ne marche pas alors jai besoion d'aide merci

John_Dick
John_Dick
Niveau 9
10 décembre 2011 à 21:39:38

à quoi ça sert de créer une autre page ?
pourquoi ne pas le faire dans ton code après avoir verfié le login ?

de plus, tu stocke que le pseudal et l'ID, il faudrait aussi y ajouter un timestamp pour delete et les users qui ont quitté le site (bien sûr actualiser ce timestamp à chaque fois qu'il charge une page)
sinon un utilisateur connecté restera toujours dans la table indéfiniment

ensuite tu n'utilise même pas la methode pour faire la requete, genre $db->exec()

deepblue
deepblue
Niveau 16
10 décembre 2011 à 22:45:33

Cette table ne sert à rien. Un booléen dans ta table de l'utilisateur suffit.

Wistaro
Wistaro
Niveau 6
11 décembre 2011 à 12:53:23

Humm merci mais je ne vois pas tres bien comment faire la, alors si vous pouviez, ce serait simpa car sa fait lomptemp que je cherche comment faire...

ParaPlayGeek
ParaPlayGeek
Niveau 7
11 décembre 2011 à 13:01:12

Salut,

Tu as déjà un table membre logiquement, il suffit d'y ajouter un champ "lastLogin" où tu enregistres le timestamp de la dernière fois que le membre à été sur une page du site.

Sur chaque page du site :d) Tu mets à jour le timestamp du membre.

Pour afficher le nombre d'utilisateur en ligne, tu compares le timestamp actuel avec celui des membres, si tu considères qu'un membre doit rester afficher en ligne jusqu'à 5 minutes après son dernier passage. Alors tu comptes le nombre de membre où le timestamp est inférieur à 5 minutes du temps actuel.

Cette solution n'est pas adapté pour un très grand nombre d'utilisateur :)

John_Dick
John_Dick
Niveau 9
11 décembre 2011 à 13:31:07

d'un point de vue performances le mieux est de créer une table "users_online"

après si c'est un petit site, ça peut aller, mais bon c'est pas terrible

deepblue
deepblue
Niveau 16
11 décembre 2011 à 16:30:09

On parlera de performances quand il saura faire ce bout de code. Il y a tellement d'autres choses à optimiser avant ça que ce n'est vraiment pas un argument.

Wistaro
Wistaro
Niveau 6
12 décembre 2011 à 14:11:07

Bon ok je tente sa est je vous dit
le site pour info c'est http://pspflash.net84.net

Wistaro
Wistaro
Niveau 6
12 décembre 2011 à 14:15:16

Enfin moi ce que je veux c'est afficher LE PSEUDO des membres connetcter, pas le nombre de membres connecter...

Wistaro
Wistaro
Niveau 6
12 décembre 2011 à 14:16:57

Genre

    • en ligne***

Wistaro
John_Dick
deepblue ...

Et si ma table "enligne" est vide sa affiche sa:

    • en ligne***

Aucun utilisateur connecter

ParaPlayGeek
ParaPlayGeek
Niveau 7
12 décembre 2011 à 14:19:03

Dans ce cas, au lieu de compter, tu sélectionnes le nom des utilisateurs dont le timestamp est inférieur à 5 minutes ... et tu affiches les pseudos ...

Tiddo
Tiddo
Niveau 10
12 décembre 2011 à 18:29:39

C'est comme ça que fonctionnent phpBB et IPB par exemple. Sur 10 minutes si je me souviens bien, mais tout est paramétrable.

Pseudo supprimé
Pseudo supprimé 12 décembre 2011 à 23:01:46

http://wall.deblan.fr/x1fd0/php/1/ Voilà mon code pour ce faire, j'espère t'avoir aider.

Pseudo supprimé
Pseudo supprimé 12 décembre 2011 à 23:03:50

Concernant ma table connectes :

id : int - auto increment
idPseudo : int
ip : varchar(100)
expire : dateTime

Wistaro
Wistaro
Niveau 6
26 mars 2012 à 18:29:28

merci je vais tester

Wistaro
Wistaro
Niveau 6
26 mars 2012 à 19:01:57

marche pas, il me met Fatal error: Call to a member function prepare() on a non-object in /home/a7316530/public_html/wistaro.php on line 33

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment