Hallo,,
Ik zocht een goed online-script waarmee ik kon zien welke sessies er lopen op welke sites. Nu heb ik op internet het volgende gevonden:
Het werkt goed, hij laat zien welke sessies er lopen, maar natuurlijk alleen de sessies die lopen met ditzelfde bestand, dus heb ik er eigenlijk nog niets aan. Nu heb ik al geprobeerd hem in tweeen te splitsen, maar dit wil niet lukken. Ik plaatste het deel vóór 'voorbeeld1' op de pagina's waar de bezoekers op komen, en het onderste deel (ná 'voorbeeld1') liet ik op 1 pagina staan, maar dan werden niet de juiste sessies weergegeven, maar ik kreeg ook geen error. Natuurlijk had ik MySQL connection er wel op, en die andere twee variablen, maar ik kreeg niet de juiste sessies te zien.
Heeft iemand enig idee hoe ik dit script in twee delen zou kunnen splitsen? Zodat ik één deel op elke pagina kan zetten, en één pagina krijg waarop ik de lopende sessies kan zien??
Bij voorbaat dank, SAplayer
Ik zocht een goed online-script waarmee ik kon zien welke sessies er lopen op welke sites. Nu heb ik op internet het volgende gevonden:
PHP:
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
| <?php if ($oConn = @mysql_connect('localhost','root','')) { if (!@mysql_select_db('test',$oConn)) { exit('<p /><b>Mysql Fout: </b> kon database niet selecteren.'); } } else { exit('<p /><b>Mysql Fout: </b> kon geen verbinding maken met de mysql server.'); } /***************** Mysql: CREATE TABLE `online` ( `session_id` varchar(32) NOT NULL default '0', `plaats` varchar(100) NOT NULL default '/index.php', `start` int(11) NOT NULL default '0', `update` int(11) NOT NULL default '0' ) TYPE=MyISAM *****************/ // include het mysql verbindingsbestand include('mysql.connection.php'); // start de sessies session_start(); $iTime = time(); // zet $iTime nar time() hoeven we time() later niet meer te gebruiken $iTimeOnline = 30; // hoeveel tijd moet een gebruiker hebben totdat hij moet refreshen? // als en een oude bekende is updaten we, anders maken we een nieuwe rij aan if (isset($_SESSION['online']) AND $_SESSION['online'] > $iTime){ $sUpdateQuery = 'UPDATE online SET plaats = "'.$_SERVER['REQUEST_URI'].'", `update` = '.($iTime+$iTimeOnline).' WHERE session_id = "'.session_id().'"'; } else { $sUpdateQuery = 'INSERT INTO online (plaats,session_id,start,`update`) VALUES ("'.$_SERVER['REQUEST_URI'].'","'.session_id().'",'.$iTime.','.($iTime+$iTimeOnline).')'; } // update/maak de online sessie $_SESSION['online'] = $iTime+$iTimeOnline; // delete de mensen die niet meer online zijn $sDeleteQuery = 'DELETE FROM online WHERE `update` < '.$iTime; // als de query's fout gaan dan vertrekken we, anders zoeken we het aantal mensen online even op if (@mysql_query($sDeleteQuery,$oConn) AND @mysql_query($sUpdateQuery,$oConn)) { $sQuery = 'SELECT COUNT(1) FROM online'; if ($oOnline = @mysql_query($sQuery)) { $iMensenOnline = @mysql_result($oOnline,0); } } else { echo '<p /><b>Mysql error: </b>'.@mysql_error($oConn); exit; } // voorbeeld 1: aantal mensen online weer geven echo 'Er zijn '.$iMensenOnline.' mensen online.'; // voorbeeld 2: lijst met mensen en tijd neer zetten $sQuery = 'SELECT (`update`-`start`-30) as tijd, plaats, session_id FROM online'; if ($oOnline = @mysql_query($sQuery,$oConn)) { if (@mysql_num_rows($oOnline) > 0){ echo '<p /><table style="border: 1px solid black; width: 80%;" cellspacing=0 cellpadding=3> <tr style="background-color: yellow; font-weigth: bold;"> <td>Session id</td> <td>Tijd</td> <td>Locatie</td> </tr>'; while ($aOnline = @mysql_fetch_assoc($oOnline)) { echo '<tr> <td>'.$aOnline['session_id'].'</td> <td>'.$aOnline['tijd'].' sec.</td> <td><a href="'.$aOnline['plaats'].'">'.$aOnline['plaats'].'</a></td> </tr>'; } echo '</table>'; } else { echo 'Er zijn geen mensen online.'; } } else { echo '<p /><b>Mysql error: </b>'.@mysql_error($oConn); exit; } ?> |
Het werkt goed, hij laat zien welke sessies er lopen, maar natuurlijk alleen de sessies die lopen met ditzelfde bestand, dus heb ik er eigenlijk nog niets aan. Nu heb ik al geprobeerd hem in tweeen te splitsen, maar dit wil niet lukken. Ik plaatste het deel vóór 'voorbeeld1' op de pagina's waar de bezoekers op komen, en het onderste deel (ná 'voorbeeld1') liet ik op 1 pagina staan, maar dan werden niet de juiste sessies weergegeven, maar ik kreeg ook geen error. Natuurlijk had ik MySQL connection er wel op, en die andere twee variablen, maar ik kreeg niet de juiste sessies te zien.
Heeft iemand enig idee hoe ik dit script in twee delen zou kunnen splitsen? Zodat ik één deel op elke pagina kan zetten, en één pagina krijg waarop ik de lopende sessies kan zien??
Bij voorbaat dank, SAplayer