Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Помогите написать скрипт (https://forum.antichat.xyz/showthread.php?t=56082)

zoron 18.12.2007 13:27

Помогите написать скрипт
 
вот хочу сделать функцию, сколько юзеров на сайте находиться, количество научился определять а вот, как сделать что бы айпи адреса всех юзеров в столбец писались?

Student :) 18.12.2007 13:41

количество определяеш через сесси?

XopoIII 18.12.2007 14:13

ну записывай ип в бд и выводи в браузер

zoron 18.12.2007 14:13

Цитата:

Сообщение от Student :)
количество определяеш через сесси?

да

zoron 18.12.2007 14:14

Цитата:

Сообщение от XopoIII
ну записывай ип в бд и выводи в браузер

терию я знаю, мне нада как их всех сразу вывести

XopoIII 18.12.2007 14:33

делаешь запрос к бд
PHP код:

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



Isis 18.12.2007 14:43

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

<?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 код:

<?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 добавь таблицу...

PHP код:

CREATE TABLE `session` (
  `
id_sessiontinytext NOT NULL,
  `
lastdatedatetime NOT NULL default '0000-00-00 00:00:00',
  `
nicktinytext NOT NULL
ENGINE=MyISAM DEFAULT CHARSET=cp1251



Время: 04:09