login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Handige scripts > Online script

Online script

Auteur: leendert - 07 augustus 2005 - 17:58 - Gekeurd door: Joel - Hits: 4981 - Aantal punten: (0 stemmen)




Een script waarmee je kan zien hoeveel gasten/leden er online zijn. Ook is te zien welke leden er online zijn:

Dit is de tabel:

CREATE TABLE `online` (
`ip` varchar(20) NOT NULL default '',
`locatie` varchar(255) NOT NULL default '',
`tijd` varchar(30) NOT NULL default '',
`user_id` int(10) NOT NULL default '0',
`username` varchar(255) NOT NULL default ''
) TYPE=MyISAM;

Voor meer info zie code.

##
Dit script maakt gebruik van sessies
##

Code:
  1. <?
  2. // sessie zelf instellen
  3. if ( isSet ( $_SESSION['user_id'] ) )
  4. {
  5. $iUser_id = $_SESSION['user_id'];
  6. }
  7. else
  8. {
  9. $iUser_id = 0;
  10. }
  11.  
  12. $rQueryUsernameBepalen = mysql_query ( "SELECT id, username FROM users WHERE id = ".$iUser_id ) or die ( mysql_error() );
  13. $aQueryUsernameBepalen = mysql_fetch_assoc ( $rQueryUsernameBepalen );
  14. $sUsername = $aQueryUsernameBepalen['username'];
  15.  
  16. /* #### INSTELBARE VARIABELEN #### */
  17.  
  18. $sIpadres = $_SERVER['REMOTE_ADDR'];
  19. $sHuidigePagina = $_SERVER['HTTP_REFERER'];
  20. $sTime = time()+180; // is 3 minuten
  21.  
  22.  
  23.  
  24. $sQuerySelectOnline = "SELECT count(*) FROM online WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
  25.  
  26. $rQuerySelectOnline = mysql_query ( $sQuerySelectOnline );
  27.  
  28. $aQuerySelectOnline = mysql_result ( $rQuerySelectOnline,0 );
  29.  
  30. // wanneer het ipadres er nog niet instaat
  31.  
  32. if ( $aQuerySelectOnline == 0 )
  33. {
  34. $rQueryInsert = mysql_query ( "INSERT
  35. INTO online ( ip, locatie, tijd, user_id, username )
  36. VALUES ('" . mysql_real_escape_string($sIpadres) . "','" . mysql_real_escape_string($sHuidigePagina) . "','" . mysql_real_escape_string($sTime) . "', '" . mysql_real_escape_string($iUser_id) . "', '" . mysql_real_escape_string($sUsername) . "' ) " ) or die ( mysql_error() );
  37. }
  38. else // het ipadres staat er dus wel in
  39. {
  40. $rQueryUpdate = mysql_query ( "UPDATE online
  41. SET locatie='" . mysql_real_escape_string($_SERVER['HTTP_REFERER']) . "', tijd = '" . mysql_real_escape_string($sTime) . "', user_id = '" . mysql_real_escape_string($iUser_id) . "', username = '" . mysql_real_escape_string($sUsername) . "'
  42. WHERE ip = '" . mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."'" ) or die ( mysql_error());
  43. }
  44.  
  45.  
  46. $iHuidigeTijd = time();
  47.  
  48. mysql_query("DELETE FROM online WHERE tijd < $iHuidigeTijd");
  49.  
  50. $sQueryGastenOnline = "SELECT * FROM online WHERE user_id = 0";
  51. $rQueryGastenOnline = mysql_query ( $sQueryGastenOnline );
  52. $iAantalGastenOnline = mysql_num_rows ( $rQueryGastenOnline );
  53.  
  54. $sQueryLedenOnline = "SELECT * FROM online WHERE user_id <> 0";
  55. $rQueryLedenOnline = mysql_query ( $sQueryLedenOnline );
  56. $iAantalLedenOnline = mysql_num_rows ( $rQueryLedenOnline );
  57.  
  58.  
  59. echo "Gasten: ".$iAantalGastenOnline."<br />";
  60. echo "Leden: ".$iAantalLedenOnline."<br />";
  61.  
  62. while ( $aQueryLedenOnline = mysql_fetch_assoc ( $rQueryLedenOnline ) )
  63. {
  64. echo '<a href=#>'.$aQueryLedenOnline['username'].'</a>,';
  65. }
  66. ?>
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (5)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.029s