hier het script + uitleg wat alles doet

deze codes die hier bij staan kan je gebruiken als voorbeeld

het is dus noodzaakelijk dat je wel je tables aan past in je database

als je geen tables hebt maak ze aan

en gebruik de volgende tables

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
voor OnlineGasten
CREATE TABLE `OnlineGasten` (
  `id` int(11) NOT NULL auto_increment,
  `naam` varchar(100) default NULL,
  `ip` varchar(100) default NULL,
  `gekomen` varchar(100) NOT NULL default '',
  `last_online` datetime NOT NULL default '0000-00-00 00:00:00',
  `online` varchar(100) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
voor members
CREATE TABLE `members` (
  `memberid` int(11) unsigned NOT NULL auto_increment,
  `gebruikersnaam` varchar(100) default '0',
  `ip` varchar(20) NOT NULL default '',
  `status` varchar(100) NOT NULL default '',
  `style` varchar(100) NOT NULL default '',
  `avator` varchar(100) NOT NULL default '',
  `wachtwoord` varchar(100) default '0',
  `naam` varchar(250) default '0',
  `email` varchar(100) default '0',
  `toonemail` text NOT NULL,
  `homepage` varchar(100) default '0',
  `geboortedatum` varchar(10) default '0',
  `geboortejaar` int(100) NOT NULL default '0',
  `woonplaats` varchar(75) default '0',
  `geslacht` varchar(12) default '0',
  `relatie` int(1) default '0',
  `geactiveerd` varchar(12) default '0',
  `acode` varchar(100) NOT NULL default '',
  `pm` char(1) default '0',
  `totaalingelogt` int(100) NOT NULL default '0',
  `gestemt` varchar(10) NOT NULL default '',
  `gestemtop` varchar(100) NOT NULL default '',
  `last_online` datetime NOT NULL default '0000-00-00 00:00:00',
  `online` varchar(100) NOT NULL default '',
  `blockpm` blob,
  `geregtop` datetime NOT NULL default '0000-00-00 00:00:00',
  `lastpage` text NOT NULL,
  `totaalhits` int(100) NOT NULL default '0',
  PRIMARY KEY  (`memberid`),
  KEY `totaalingelogt` (`totaalingelogt`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;



Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
config.php
//het bestand om te connecten naar een database en zowel de config van het update systeem
<?php
$error
= "1"; //als je de errors wilt zien 0 is uit 1 is aan
if($error == '1') { // de check if $error = 1 of 0
 ini_set('display_errors', 1); //raporteer allegegevens
 error_reporting(E_ALL); meld de error
}
$ip = $_SERVER['REMOTE_ADDR']; // dit is het ip adres van de gebruiker
$mysql_host = "localhost"; // database host vaak word deze localhost
$mysql_user = "xxxxxxxxx"; // je gebruikersnaam van je database
$mysql_pass = "xxxxxxxxx"; // je wachtwoord van je database
$mysql_db   = "xxxxxxxxx"; // je database naam
$db = mysql_connect( $mysql_host , $mysql_user , $mysql_pass ) or die(mysql_error()); // hier gaan we connecten naar de database
if(!mysql_select_db($mysql_db)); // hier kijken we of de database gevonden is
$timetodelete = 15; // verander dit getal hou hier rekening mee dat het in minuten word getelt


?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
index.php

met deze code leeg je en update je de database
zowel van de members als online gasten

<?php
include("config.php"); // connecten naar database
//Update members table zet online status op 0 als ze langer dan 15min geen hits hebben gegeven (minuten zijn instelbaar)

//De Update: we gaan kijken of de member binnen een x aantal min nog actief is de $timetodelete staat in config.php
//zijn de members langer als $timetodelete niet actief geweest dan update we online status

$sql = "UPDATE members SET online=0 WHERE DATE_SUB(NOW(),INTERVAL $timetodelete MINUTE) >= last_online AND online=1";
$query = mysql_query($sql);

//Delete OnlineGasten als ze langer dan 15min geen hits hebben gegeven (minuten zijn instelbaar)

//De Delete: we gaan kijken of de Gasten binnen een x aantal min nog actief is de $timetodelete staat in config.php
//zijn de gasten langer als $timetodelete niet actief geweest dan delete we alle gebruikers die over het aangegeven totaal $timetodelete niet actief waren

$sql = "DELETE FROM OnlineGasten WHERE DATE_SUB(NOW(),INTERVAL $timetodelete MINUTE) >= last_online AND online=1";
$query = mysql_query($sql);

?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
update.php

deze code plaats je ergens op je website
ik zelf heb hem in 1 van me blocken staan zo dat ie altijd gecheckt word

<?php
include("config.php");  // connecten naar database

if(isset($_SESSION['GastID'])) { // hier kijken we of de Gast nog online is
 $sql = "UPDATE OnlineGasten SET last_online='".date("Y-m-d H:i:s")."' WHERE id='" . $_SESSION['GastID'] . "'"; //hier updateen we de Gast omdat hij nog actief is
 $query = mysql_query($sql); // hier voeren we de query uit
}
if(isset($_SESSION['user'])) { // hier kijken we of de Member nog online is
 $sql = "UPDATE members SET last_online='".date("Y-m-d H:i:s")."' WHERE gebruikersnaam='".$_SESSION['user']."'"; //hier update we de member omdat hij nog actief is
 $query = mysql_query($sql); // hier voeren we de query uit
}
?>

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Uitleg over deze tutorial
  2. Einde
  3. hier het script + uitleg wat alles doet

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.