Просмотр полной версии : Помогите написать скрипт
вот хочу сделать функцию, сколько юзеров на сайте находиться, количество научился определять а вот, как сделать что бы айпи адреса всех юзеров в столбец писались?
Student :)
18.12.2007, 13:41
количество определяеш через сесси?
ну записывай ип в бд и выводи в браузер
количество определяеш через сесси?
да
ну записывай ип в бд и выводи в браузер
терию я знаю, мне нада как их всех сразу вывести
делаешь запрос к бд
$sql ='SELECT * FROM имя_таблицы';
$ip = mysql_query($sql);
while($whonline=mysql_fetch_array($ip)){
echo $whonline['ip']."<br>";
}
В самый главный файл, который у тебя инклудится везде пишешь следующее:
<?php
//В самой макушке кода
session_start();
//Здесь может быть твой код
$id_session = session_id();
$query = "SELECT * FROM `session` WHERE `id_session` = '".$id_session."'";
$ses = mysql_query($query);
if(!$ses)
{
echo "<p>Ошибка в запросе к таблице сессий</p>";
include('footer.php');
exit();
}
if(mysql_num_rows($ses) > 0)
{
$query = "UPDATE `session` SET `lastdate` = NOW(), `nick` = '".$_SESSION['fname']."' WHERE `id_session`='".$id_session."'";
mysql_query($query);
}
else
{
$query = "INSERT INTO `session` VALUES('".$id_session."', NOW(),'".$_SESSION['fname']."')";
if(!mysql_query($query))
{
echo $query."<br>";
echo "<p>Ошибка при добавлении пользователя</p>";
exit();
}
}
$query = "DELETE FROM `session` WHERE `lastdate` < NOW() - INTERVAL '20' MINUTE";
mysql_query($query);
?>
Далее вывод кто на сайте:
<?php
$query = "SELECT COUNT(*) as 'users' FROM `session` WHERE `nick` != ''";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$querys = "SELECT COUNT(*) as 'guest' FROM `session` WHERE `nick` = ''";
$results = mysql_query($querys);
$rows = mysql_fetch_array($results);
$how = $row['users'] + $rows['guest'];
echo "На сайте: ".$how." посетителей (".$row['users']." пользователей и ".$rows['guest']." гостей)<br/>";
$query = "SELECT * FROM `session`";
$ath = mysql_query($query);
if(!$ath) exit("<p>Ошибка в запросе к таблице сессий</p>");
if(mysql_num_rows($ath) > 0)
{
echo "<table>";
while($author = mysql_fetch_array($ath))
{
if(!empty($author['nick']))
echo "<tr><td>".htmlspecialchars($author['nick'])."</td></tr>";
}
echo "</table>";
}
?>
Ну и в MySQL добавь таблицу...
CREATE TABLE `session` (
`id_session` tinytext NOT NULL,
`lastdate` datetime NOT NULL default '0000-00-00 00:00:00',
`nick` tinytext NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot