PDA

Просмотр полной версии : Помогите написать скрипт


zoron
18.12.2007, 13:27
вот хочу сделать функцию, сколько юзеров на сайте находиться, количество научился определять а вот, как сделать что бы айпи адреса всех юзеров в столбец писались?

Student :)
18.12.2007, 13:41
количество определяеш через сесси?

XopoIII
18.12.2007, 14:13
ну записывай ип в бд и выводи в браузер

zoron
18.12.2007, 14:13
количество определяеш через сесси?
да

zoron
18.12.2007, 14:14
ну записывай ип в бд и выводи в браузер
терию я знаю, мне нада как их всех сразу вывести

XopoIII
18.12.2007, 14:33
делаешь запрос к бд

$sql ='SELECT * FROM имя_таблицы';
$ip = mysql_query($sql);
while($whonline=mysql_fetch_array($ip)){
echo $whonline['ip']."<br>";
}

Isis
18.12.2007, 14:43
В самый главный файл, который у тебя инклудится везде пишешь следующее:

<?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;