[PHP] Qui est en ligne
|
12-12-2012, 20h22
Message : #1
|
|
sakiir
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de Messages : 411 Sujets : 51 Points: 34 Inscription : Sep 2012 |
[PHP] Qui est en ligne
salut salut !!
alors voila j'aimerais afficher la liste des utilisateur e ligne sur mon site . Je pense savoir qu’il y a plusieurs manière de le faire mais je n'ai jamais trouvé une solution qui me convient vraiment .. :/ alors si quelques personnes pouvaient me donner leur réponse ici, ça serai hyper sympa ! |
|
12-12-2012, 22h02
(Modification du message : 13-12-2012, 13h11 par CyberSee.)
Message : #2
|
|
CyberSee
Admin fondateur de N-PN Messages : 1,721 Sujets : 287 Points: 158 Inscription : Jan 2012 |
RE: [PHP] Qui est en ligne
Enfaite c'est plutôt simple ... Il suffit de sauvegarder dans une table l'IP des visiteurs avec un Time stamps puis on choisit après combien de minutes d'inactivité un membre est considéré offline.
Créé une table 'session': id, ip, stamp Créé une page session.php Inclus-la une fois dans TOUTES les pages de ton site Ajoute le code suivant: Code PHP : <?php Je tiens juste à dire que je n’ai pas testé mon code, je fais juste la balancer comme ça :-) Mais en théorie ça devrait marcher. Code PHP : <?php |
|
12-12-2012, 23h45
(Modification du message : 13-12-2012, 00h27 par sakiir.)
Message : #3
|
|
sakiir
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de Messages : 411 Sujets : 51 Points: 34 Inscription : Sep 2012 |
RE: [PHP] Qui est en ligne
merci pour ta réponse ! je vais étudier le code ! et le mettre en œuvre !
j'ai modifié quelque erreur que tu avais faite .. j'ai la pretention de croire que tu t'es trompé , que tu as confondu ip et id dans ton code mais j'ai compris le principe en faite c'est une sorte de decomtpe avant le timeout qui veut dire que le user est offline. Code : <?php et donc j'ai rencontré un soucis 'est les données que je dois entrer dans la base de données, j'ai mis INT A.I pour l'id, pour l'ip j'ai mis un VARCHAR, et pour le timestamp je ne sais pas du tout quoi mettre .. j'ai aperçu le mot timestamp dans la liste mais celui-ci ne fonctionne pas. c'est a dire qu'aucune donnée ne reste dans la table .. |
|
13-12-2012, 01h24
(Modification du message : 13-12-2012, 01h35 par CyberSee.)
Message : #4
|
|
CyberSee
Admin fondateur de N-PN Messages : 1,721 Sujets : 287 Points: 158 Inscription : Jan 2012 |
RE: [PHP] Qui est en ligne
Si tu parles du
WHERE id='".$data['ip']." Non je ne me suis pas trompé, selon ma syntaxe (WHERE id='".$ip['id']."') c'est bien id qu'il faut mettre. Par contre, si tu veux absolument trouver la ligne par l'IP faut remplacer par WHERE ip='".$data['ip']." et non id='".$data['ip']."' Dans les deux cas, ça fonctionne parce que IP est également unique. l'important c'est que si tu utilise id, faut que tu utilises la variable id et si tu utilises ip faut que tu utilises la variable ip évidemment :-) L'id c'est ta clé primaire. Elle doit être en INT(10) en auto increment L'ip et le time stamp peuvent toute les deux êtres VARCHAR(255) Code PHP : <?php |
|
13-12-2012, 09h39
(Modification du message : 13-12-2012, 09h41 par sakiir.)
Message : #5
|
|
sakiir
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de Messages : 411 Sujets : 51 Points: 34 Inscription : Sep 2012 |
RE: [PHP] Qui est en ligne
ok merci de ta réponse.. je vais cogiter !
Code : "SELECT * FROM session WHERE id='$myip'" |
|
13-12-2012, 13h11
Message : #6
|
|
CyberSee
Admin fondateur de N-PN Messages : 1,721 Sujets : 287 Points: 158 Inscription : Jan 2012 |
RE: [PHP] Qui est en ligne
AH oui a cette endroit c'est effectivement ip qu'il faut mettre :-)
Code PHP : <?php |
|
13-12-2012, 20h20
Message : #7
|
|
sakiir
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de Messages : 411 Sujets : 51 Points: 34 Inscription : Sep 2012 |
RE: [PHP] Qui est en ligne
-lol-
J'ai enfin fais fais fonctionné le script en le modifiant un peu :p j'ai fais ça avec les session.. Donc les utilisateurs on un délai de 1 minute après il sont offline Donc il y a une table id(pas vraiment utile), active(booléen pour 1:online;2:offline), user(username de l'utilisateur), et le stamp(bien sure très important). j'ai re-commenté le code pour plus de compréhension : Code : <?php |
|
14-12-2012, 00h19
Message : #8
|
|
InstinctHack
Posting Freak Messages : 1,366 Sujets : 184 Points: 299 Inscription : Dec 2011 |
RE: [PHP] Qui est en ligne
Le.champ actif ne sert a rien et n'est pas tres parlant, au niveau sql (sans regarder le code php ), il signifie quoi ?rien.
Donc supprime le. Pour ensuite faire la liste des gens connecter, tu parcours l'objet renvoyé par sql et tu compare le time actuel avec le dernier time enregistrer auquel tu apporte le temps maximun pendant lequel l'utilisateur est connecter meme si il ne fait aucune requête Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!" |
|
14-12-2012, 08h02
Message : #9
|
|
sakiir
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de Messages : 411 Sujets : 51 Points: 34 Inscription : Sep 2012 |
RE: [PHP] Qui est en ligne
je l'utilise sur plein de page, donc il est préférable pour moi d'utiliser ça, après, je peux faire une fonction que j'inclurais mais la structure de mon site ne le permet pas
|
|
14-12-2012, 12h11
Message : #10
|
|
JulienetNel Non-enregistré |
RE: [PHP] Qui est en ligne
Pourquoi ne pas utiliser une fonction plus simple.
Dans le champs utilisateur de la base de donnée, il y aurait un 0 pour pas en ligne et 1 pour en ligne. Si c'est un 0 alors le gars est en ligne et si c'est 1 alors le gars n'est pas en ligne. On pourrait changer le nombre, lorsque le gars se connecte et se déconnecte. Il suffirait ensuite d'une simple condition avec if, elseif et else pour faire le tri. Le else pouvant servir si aucune des conditions n'est rempli, ce qui ne devrait pas arriver. Mais dans cette situation, tu peux choisir une troisième situation : invisible. |
|
14-12-2012, 12h18
Message : #11
|
|
InstinctHack
Posting Freak Messages : 1,366 Sujets : 184 Points: 299 Inscription : Dec 2011 |
RE: [PHP] Qui est en ligne
et comment tu sais si il est connecter ou non avec un simple true/false ?
Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!" |
|
14-12-2012, 19h55
Message : #12
|
|
sakiir
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de Messages : 411 Sujets : 51 Points: 34 Inscription : Sep 2012 |
RE: [PHP] Qui est en ligne
Avec un 'SELECT WHERE active=1' ..
|
|
14-12-2012, 20h32
Message : #13
|
|
JulienetNel Non-enregistré |
RE: [PHP] Qui est en ligne
(14-12-2012, 12h18)khaled a écrit : et comment tu sais si il est connecter ou non avec un simple true/false ? Imaginons qu'on est un champs Valide ou Connect, quand l'utilisateur se connecte alors le script remplace la valeur par 1. Si il se déconnecté, alors on remplace la valeur par 0. Si il a condition n'est pas remplit dans l'un ou l'autre, on peut remplir avec un 2 au bout d'un certains temps : Ce qui voudrait que le gars n'est ni considéré en ligne et ni hors ligne, on le considère en situation inconnu. On peut aussi calculer à partir de quand l'utilisateur est déconnecter automatiquement de la session, si il y en a une limite de session et faire passer son champs en 0. (14-12-2012, 19h55)sakiir a écrit : Avec un 'SELECT WHERE active=1' .. En quelque sorte ... |
|
14-12-2012, 20h36
Message : #14
|
|
ThibauT
Keyboard not found, press F1 to resume. Messages : 348 Sujets : 6 Points: 69 Inscription : Jun 2012 |
RE: [PHP] Qui est en ligne
Mais s'il ferme la page directement sans passer par l'option de déconnexion, qu'en es t'il ?
Martin Golding a écrit :"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." Gnomino a écrit :et quand je suis payé je fais ce qu'on me demande :B |
|
14-12-2012, 22h19
Message : #15
|
|
sakiir
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de Messages : 411 Sujets : 51 Points: 34 Inscription : Sep 2012 |
RE: [PHP] Qui est en ligne
et bien c'est la meme chose il est deconnecté..
|
|
« Sujet précédent | Sujet suivant »
|
Utilisateur(s) parcourant ce sujet : 1 visiteur(s)