Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/02/2012, 15h59   #1
Invité de passage
 
Inscription : avril 2009
Messages : 42
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 42
Points : 3
Points : 3
Par défaut Qui est connecté ?

Bonjour,

Sur mon site, les utilisateurs se connectent avec un Id et un passe. Comment je peux savoir quels utilisateurs sont connectés sur mon site ?
J'espère que la question est assez précise


Merci

Pandu
pandu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 17h07   #2
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Soit tes sessions sont gérées par ta BDD auquel cas il suffit de compter les sessions actives.
Soit ce n'est pas le cas et tu dois enregistrer dans ta table utilisateur un champs du type "Dernière action" qui sera mis à jour à chaque fois qu'un utilisateur ouvre une page.
Ne reste ensuite qu'a compter les utilisateurs dont le champs dernière action est inférieur à X seconde/minute
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 15h01   #3
Invité de passage
 
Inscription : avril 2009
Messages : 42
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 42
Points : 3
Points : 3
Citation:
Envoyé par grunk Voir le message
Soit tes sessions sont gérées par ta BDD auquel cas il suffit de compter les sessions actives.
Soit ce n'est pas le cas et tu dois enregistrer dans ta table utilisateur un champs du type "Dernière action" qui sera mis à jour à chaque fois qu'un utilisateur ouvre une page.
Ne reste ensuite qu'a compter les utilisateurs dont le champs dernière action est inférieur à X seconde/minute
C dommage je trouve. Donc si qqun est devant son écran sans toucher à rien pendant 30mn et que g mis le temps à 15mn, il va être considéré comme déconnecté alors qu'il ne l'est pas.
Il n'y a vraiment pas un autre moyen ? le serveur ne sait pas qui est en ligne ?
pandu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 16h14   #4
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Une fois que la page est affichée sur ton écran tu n'est plus connecté au serveur.
Tu existes pour lui que entre le moment ou tu lui demande quelque chose et ou il fini de répondre.

Tu peux toujours sur chaque page avoir un javascript qui envoi une requête toutes les X secondes mais selon le nombre d'utilisateur c'est beaucoup de ressources consommée pour pas grand chose.

Citation:
si qqun est devant son écran sans toucher à rien pendant 30mn et que g mis le temps à 15mn, il va être considéré comme déconnecté
t'as déjà passé 30min devant une page sans charger la moindre ressource ?
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 16h32   #5
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 250
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 250
Points : 1 513
Points : 1 513
salut,

je sais pas si ca pourra etre utile, mais je laisse ca la.

developpez.net/forums/d261669/webmasters-developpement-web/javascript/utiliser-onunload-detecter-fermeture-navigateur/
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 19h33   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 250
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 250
Points : 8 635
Points : 8 635
tu peux faire ça en websocket
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 06h40   #7
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 738
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 738
Points : 3 310
Points : 3 310
Citation:
Envoyé par stealth35
tu peux faire ça en websocket
J'ai jusqu'à lors jamais pris le temps d'essayer les WebSocket.

J'ai lu ce tutoriel fort intéressant : Un chat en HTML5 avec les websockets

Est-ce que les WebSocket peuvent remplacer avantageusement les sessions par exemple ?
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 08h52   #8
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Citation:
Envoyé par stealth35 Voir le message
tu peux faire ça en websocket
Et au passage utiliser une techno non finalisée qui ne marche pas chez 38% des utilisateurs (IE) Mais effectivement c'est une solution.
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 10h46   #9
Modérateur
 
Inscription : septembre 2010
Messages : 7 250
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 250
Points : 8 635
Points : 8 635
Citation:
Envoyé par grunk Voir le message
Et au passage utiliser une techno non finalisée qui ne marche pas chez 38% des utilisateurs (IE) Mais effectivement c'est une solution.
Je pense plus à tout ça, c'est du bonus, donc tempi pour les autres qui ne le remarqueront même pas.
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 21h07   #10
Invité de passage
 
Inscription : avril 2009
Messages : 42
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 42
Points : 3
Points : 3
Merci pour ces réponses .
N'oubliez pas que je suis débutant sur la prog web donc certaines de ces réponses sont du chinois pour moi : webscocket, je ne sais meme pas ce que c'est, et ce que j'ai lu ne m'a pas aidé. Idem pour onunload.
Sinon :
t'as déjà passé 30min devant une page sans charger la moindre ressource ?

Oui grunk, ça m'arrive souvent et même bien plus que 30mn ! Par exemple quand je regarde une partie de go sur kgs ou certains jeux dont je ne sors pas parfois pendant 48h (sans jouer 48h évidemment, mais je ne me déconnecte pas).
Par contre l'idée d'envoyer une requete par javascript toute les x secondes me semble interessante. Comment on fait ça ?
(Merci d'etre précis, car je n'ai jamais utilisé javascript)
pandu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 08h49   #11
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Citation:
Envoyé par pandu Voir le message
Par contre l'idée d'envoyer une requete par javascript toute les x secondes me semble interessante. Comment on fait ça ?
(Merci d'etre précis, car je n'ai jamais utilisé javascript)
On apprend javascript
Les bases : http://javascript.developpez.com/cou...e#introduction
Un peu de lecture sur l'envoi de données asynchrone : http://javascript.developpez.com/faq...ipt/?page=Ajax
Ou encore via les websocket comme le dis stealth35 , mais ça risque d'être un peu compliqué si tu n'a jamais fait de JS
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 17h14   #12
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
Citation:
Envoyé par pandu Voir le message
C dommage je trouve. Donc si qqun est devant son écran sans toucher à rien pendant 30mn et que g mis le temps à 15mn, il va être considéré comme déconnecté alors qu'il ne l'est pas.
Il n'y a vraiment pas un autre moyen ? le serveur ne sait pas qui est en ligne ?
Bonjour,
Juste te préciser que si tu géres des valeurs de session, dans le cas de non mouvement pendant 30 minutes le serveur deconectera la session en cour, de toute façon
Que tu ais mis ou pas un contrôle a toi , tel qu'indiqué dans ton sujet.
A++
Christele
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 20h15   #13
Invité de passage
 
Inscription : avril 2009
Messages : 42
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 42
Points : 3
Points : 3
Citation:
Envoyé par grunk Voir le message
On apprend javascript
Les bases : http://javascript.developpez.com/cou...e#introduction
Un peu de lecture sur l'envoi de données asynchrone : http://javascript.developpez.com/faq...ipt/?page=Ajax
Ou encore via les websocket comme le dis stealth35 , mais ça risque d'être un peu compliqué si tu n'a jamais fait de JS
Alors là tu me déprimes carrément
pandu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 20h20   #14
Invité de passage
 
Inscription : avril 2009
Messages : 42
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 42
Points : 3
Points : 3
Citation:
Envoyé par christele_r Voir le message
Bonjour,
Juste te préciser que si tu géres des valeurs de session, dans le cas de non mouvement pendant 30 minutes le serveur deconectera la session en cour, de toute façon
Que tu ais mis ou pas un contrôle a toi , tel qu'indiqué dans ton sujet.
A++
Christele
J'utilise les $_SESSION oui. Mais il me semble que le temps au bout duquel le serveur te déconnecte est un parametre variable du serveur(pas forcément 30mn) et que de toute façons je ne peux pas le modifier non ?
Et quel est le rapport entre les sessions et ce temps de déconnection ?

A +
pandu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 23h58   #15
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
Citation:
Envoyé par pandu Voir le message
J'utilise les $_SESSION oui. Mais il me semble que le temps au bout duquel le serveur te déconnecte est un parametre variable du serveur(pas forcément 30mn) et que de toute façons je ne peux pas le modifier non ?
Et quel est le rapport entre les sessions et ce temps de déconnection ?
A +
Le rapport, est que ce n'est pas que toi qui décide si "bidule" est encore connecté au serveur !
Les cas sont nombreux, départ du bureau pour le repas de midi etc...
Oui c'est un paramétre de PHP.INI, mais je crois qu'il est modifiable par domaine. (pas certaine )
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2012, 18h49   #16
Invité de passage
 
Inscription : avril 2009
Messages : 42
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 42
Points : 3
Points : 3
Citation:
Envoyé par grunk Voir le message
On apprend javascript
Les bases : http://javascript.developpez.com/cou...e#introduction
Un peu de lecture sur l'envoi de données asynchrone : http://javascript.developpez.com/faq...ipt/?page=Ajax
Ou encore via les websocket comme le dis stealth35 , mais ça risque d'être un peu compliqué si tu n'a jamais fait de JS
Bon je me suis mis à javascript, pas trop compliqué au moins au début. Puis à l'asynchrone aussi avec XMLHttpRequest.
Donc je peux utiliser on Unload etc... c cool
J'ai découvert l'instruction setInterval qui est bien intéressante aussi.
Là je bute sur comment faire une requete sql en javascript.
Est ce que il faut passer par un truc du genre :
xhr_object.open("GET", "foo.php", true);
ou il y a plus simple ?
pandu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h38.


 
 
 
 
Partenaires

Hébergement Web