PHP gevorderde |
|
Beste scripters,
Ik heb het script van tuinstoel bestudeerd en daar heb ik veel van geleerd (je zou het bijna kopiëren kunnen noemen allen heb ik toch echt alles zelf gemaakt). Het probleem is dat hij alleen de gebruiker laat zien (waar de surfer dus op zit) en niet de andere die ook gelogged zouden moeten zijn op hun IP.
Het script waar ik iedereen zijn IP, locatie en de tijd van de bezochte pagina log:
<?php
function LogIP ($iTime = 3)
{
// Verwijder de gebruiker van de lijst (default: 3 min.)...
$rVerwijder = 'DELETE FROM logins WHERE tijd < DATE_SUB(NOW(), INTERVAL "'.$iTime.'" MINUTE)';
// Kijken of de Query uitgevoerd is...
if (MySQL_Query($rVerwijder))
{
// Deze Query gaat bepalen of er al een gebruikers eerder een locatie had...
$rOphalen = 'SELECT COUNT(id) AS records FROM logins WHERE ip = "'.$_SERVER['REMOTE_ADDR'].'"';
// Kijken of de Query is uitgevoerd...
if (MySQL_Query($rOphalen))
{
// Hier komen de pagina's in die niet getoond zullen worden...
$aVerboden = array('cp.php', '/beheer/', 'ip-ban.php');
// Kijken of de verboden pagina in de URL zit...
$sCheckURL = (in_array($aVerboden, substr($_SERVER['REQUEST_URI']), -1)) ? 'Beveiligde pagina' : $_SERVER['REQUEST_URI'];
// Kijken of er een result is...
if (MySQL_Result($rOphalen, 0, 'records') === true)
{
// Hij had nog niks bezoekt, dus zetten we hem in de database...
$rInvoegen = 'INSERT INTO logins (id, tijd, ip, locatie) VALUES ("NULL", NOW(), "'.$_SERVER['REMOTE_ADDR'].'", "'.$sCheckURL.'")';
// Weer kijken of de Query uitgevoerd is...
if (!MySQL_Query($rInvoegen))
{
// Weergeef de error...
die (MySQL_Error() . 'on line:' . (__LINE__ - 4));
}
}
else
{
// Hij was al is online, We zetten de nieuwe gegevens erin
$rInvoegen = 'REPLACE INTO logins (id, tijd, ip, locatie) VALUES ("NULL", NOW(), "'.$_SERVER['REMOTE_ADDR'].'", "'.$sCheckURL.'")';
// Weer kijken of de Query uitgevoerd is...
if (!MySQL_Query($rInvoegen))
{
// Weergeef de error...
die (MySQL_Error() . 'on line:' . (__LINE__ - 4));
}
}
}
else
{
// Weergeef de error...
die (MySQL_Error() . 'on line:' . (__LINE__ - 31));
}
}
else
{
// Weergeef de error...
die (MySQL_Error() . 'on line:' . (__LINE__ - 41));
}
}
?>
<?php function LogIP ($iTime = 3) { // Verwijder de gebruiker van de lijst (default: 3 min.)... $rVerwijder = 'DELETE FROM logins WHERE tijd < DATE_SUB(NOW(), INTERVAL "'.$iTime.'" MINUTE)'; // Kijken of de Query uitgevoerd is... { // Deze Query gaat bepalen of er al een gebruikers eerder een locatie had... $rOphalen = 'SELECT COUNT(id) AS records FROM logins WHERE ip = "'.$_SERVER['REMOTE_ADDR'].'"'; // Kijken of de Query is uitgevoerd... { // Hier komen de pagina's in die niet getoond zullen worden... $aVerboden = array('cp.php', '/beheer/', 'ip-ban.php'); // Kijken of de verboden pagina in de URL zit... $sCheckURL = (in_array($aVerboden, substr($_SERVER['REQUEST_URI']), -1)) ? 'Beveiligde pagina' : $_SERVER['REQUEST_URI']; // Kijken of er een result is... { // Hij had nog niks bezoekt, dus zetten we hem in de database... $rInvoegen = 'INSERT INTO logins (id, tijd, ip, locatie) VALUES ("NULL", NOW(), "'.$_SERVER['REMOTE_ADDR'].'", "'.$sCheckURL.'")'; // Weer kijken of de Query uitgevoerd is... { // Weergeef de error... } } else { // Hij was al is online, We zetten de nieuwe gegevens erin $rInvoegen = 'REPLACE INTO logins (id, tijd, ip, locatie) VALUES ("NULL", NOW(), "'.$_SERVER['REMOTE_ADDR'].'", "'.$sCheckURL.'")'; // Weer kijken of de Query uitgevoerd is... { // Weergeef de error... } } } else { // Weergeef de error... } } else { // Weergeef de error... } } ?>
nu include ik deze functie overal maar hij doet het gewoon niet, Hier weergeef ik de tabel+de informatie:
<?
include 'config.php';
?>
<table width="632" border="1" align="center">
<tr>
<td width="15"><div align="center">#</div></td>
<td width="270"><div align="center">Pagina:</div></td>
<td width="168"><div align="center">Tijd:</div></td>
</tr>
<?php
$rResults = 'SELECT id, tijd, locatie FROM logins ORDER BY tijd DESC';
$iets = mysql_query($rResults);
while ($res = mysql_fetch_array($iets))
{
?>
<tr>
<td height="25"><?= $res['id']?></td>
<td height="25"><?= $res['locatie']?></td>
<td height="25"><?= $res['tijd']?></td> </tr>
<?
}
?>
</table>
<? include 'config.php'; ?> <table width="632" border="1" align="center"> <tr> <td width="15"><div align="center">#</div></td> <td width="270"><div align="center">Pagina:</div></td> <td width="168"><div align="center">Tijd:</div></td> </tr> <?php $rResults = 'SELECT id, tijd, locatie FROM logins ORDER BY tijd DESC'; { ?> <tr> <td height="25"><?= $res['id']?></td> <td height="25"><?= $res['locatie']?></td> <td height="25"><?= $res['tijd']?></td> </tr> <? } ?> </table>
greetings (A)
EDIT: ik weet dat de MySQL-table raare naam heeft maar dit is door een misverstandje gekomen.
Hier staat een voorbeeld!!~~!!!
|