Помогите написать скрипт

Discussion in 'PHP' started by zoron, 18 Dec 2007.

  1. zoron

    zoron New Member

    Joined:
    17 Nov 2007
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    вот хочу сделать функцию, сколько юзеров на сайте находиться, количество научился определять а вот, как сделать что бы айпи адреса всех юзеров в столбец писались?
     
  2. Student :)

    Student :) Elder - Старейшина

    Joined:
    9 Feb 2007
    Messages:
    278
    Likes Received:
    18
    Reputations:
    -15
    количество определяеш через сесси?
     
  3. XopoIII

    XopoIII Elder - Старейшина

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    ну записывай ип в бд и выводи в браузер
     
  4. zoron

    zoron New Member

    Joined:
    17 Nov 2007
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    да
     
  5. zoron

    zoron New Member

    Joined:
    17 Nov 2007
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    терию я знаю, мне нада как их всех сразу вывести
     
  6. XopoIII

    XopoIII Elder - Старейшина

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    делаешь запрос к бд
    PHP:
    $sql ='SELECT * FROM имя_таблицы';
    $ip mysql_query($sql);
    while(
    $whonline=mysql_fetch_array($ip)){
        echo 
    $whonline['ip']."<br>";
    }
     
  7. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    В самый главный файл, который у тебя инклудится везде пишешь следующее:
    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;
     
    1 person likes this.