online users weergeven
ik heb een website met loginsysteem gemaakt. (php en mysql)
probleem is ik wil alle online users uit mijn database weergeven.
Wat werkt is als iemand inlogd er een veld in de database (online) op 1 springt en als hij uitlogt op 0 springt.
Maar hoe geef ik deze gebruikers weer op mijn website:
code:functions.php
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
function online(){
$data = array();
$data = mysql_query("SELECT `username` FROM `users` WHERE `online` = 1");
return $data;
}
?>
function online(){
$data = array();
$data = mysql_query("SELECT `username` FROM `users` WHERE `online` = 1");
return $data;
}
?>
code:onlineusers.php
Maar er komt niks op mijn pagina.
Wat doe ik fout, ik sta open voor ieders mening.
Mvg Robin
Toevoeging op 10/10/2012 17:11:18:
ps: in de code hieronder is users mijn database naam
"SELECT `username` FROM `users` WHERE `online` = 1"
Gewijzigd op 10/10/2012 17:16:25 door - Ariën -
Daar heb ik al aan gedacht door een popup te geven wanneer hij de site probeert te verlaten. Wanneer hij kiest om dan toch de site te verlaten wordt hij automatisch offline gezet
En wat als er een pop-up blocker aanwezig is?
Wat zou jij doen?
Hiervoor is een aparte tabel veel handiger, dan het gebruik van de leden tabel. Zo kan je ook gasten apart in de gaten houden....
Alvast bedankt
Kijk ook zeker eens naar mijn idee met een aparte tabel.
ps:@ - Aar- : ik wil je nu al eens bedanken voor de interessante ideën. Het is mijn eerste dag hier op phphulp en moet zeggen dat dit een zeer actief forum is. Niet zoals alle andere forumen waarop je 10 dagen moet wachten op een antwoord.
- userID (0 voor een gast, of het userID van een gebruiker)
- location (plek waar zijn laatste bezoek is, bijv. forum/topic/1337)
- lastVisit (laatste bezoek in DATETIME)
- IPaddress (ipadres, handig voor herkenning als gast, een uniekeID in een cookie kan ook)
PS: Welkom op PHPhulp.. ;-)
Gewijzigd op 10/10/2012 20:20:43 door - Ariën -
Voor de rest nog maal bedankt voor het idee.
Gewijzigd op 10/10/2012 20:30:38 door - Ariën -
Moet ik deze code via een cronjob laten uitvoeren? Of zijn er andere manieren?
Gewoon bij elke visit op de website?
@- Aar - : ik heb jouw laatste code is gebruikt maar ze werkt niet. Kan het zijn dat er een fout in staat.
Ik de code tussen: mysql_query(" hier de code");
Heb ik iets fout gedaan?
Gewijzigd op 12/10/2012 12:00:53 door - Ariën -
dit is de code die ik gebruik.
Ziet iemand de fout. Alle namen in de database zijn juist.
ps: de database word aangeroepen moest iemand het zich afvragen
dit artikel eens over foutafhandeling.
voer het eens uit in phpMyAdmin. En lees ook Gewijzigd op 12/10/2012 18:25:44 door - Ariën -
ik krijg deze error wanneer ik de query rechtstreeks in phpmyadmin ingeef
gebruik anders MINUTE
Dus als je dat ook wilt zet je dit in je uitlog file:
Quote:
Code (php)
1
2
3
2
3
<?php
$offline = mysql_query('UPDATE users SET status = "0" WHERE username = "'.$_SESSION['username'].'" ') or trigger_error(mysql_error());
?>
$offline = mysql_query('UPDATE users SET status = "0" WHERE username = "'.$_SESSION['username'].'" ') or trigger_error(mysql_error());
?>
EDIT:
En als die inlogt doe je dezelfde query maar dan voer je bij status "1" in:
Quote:
Code (php)
1
2
3
2
3
<?php
$offline = mysql_query('UPDATE users SET status = "1" WHERE username = "'.$_SESSION['username'].'" ') or trigger_error(mysql_error());
?>
$offline = mysql_query('UPDATE users SET status = "1" WHERE username = "'.$_SESSION['username'].'" ') or trigger_error(mysql_error());
?>
Gewijzigd op 12/10/2012 18:49:54 door Remco van Akker