{% else-1 %}
Обновить | Подписаться | Поднять тему
Чтобы выполнить действие авторизируйтесь или пройдите регистрацию на сайте.
1. [автор] (10 апр 2013, 19:31) [0/0] [0] [отв] [спам] [под] +1 | -1

Дайте пожалуйста ко онлайна. Тоесть в котором будет отображаться сколько чел на сайте

2. (10 апр 2013, 19:32) [0/0] [0] [отв] [спам] [под] +1 | -1

неадкевату не что давать не буду. (знаю предупреждение)

3. (10 апр 2013, 19:32) [0/0] [0] [отв] [спам] [под] +1 | -1

kyrgyz, под что именно? Для авторизованых юзверов?

4. [автор] (10 апр 2013, 19:33) [0/0] [0] [отв] [спам] [под] +1 | -1
Bimax™,

нет просто сколько посетителей на сайте

5.
ShwartZ * 7.58
(10 апр 2013, 19:41) [0/0] [0] [отв] [спам] [под] +1 | -1

Создаёшь файл online.php
Содержимое
[code]<?php
$config = array(
\'online_time\' => \'1\', //В минутах -- зачем весь масив? не пойму.
);

$connect_config = array(
\'host\' => \'localhost\',
\'user\' => \'root\',
\'pass\' => \'mangos\',
\'db\' => \'guest_online\'
);
//передаём или читаем uniq_id с кукисов
if(!$_COOKIE[\'uniq_id\'])
{
$uniq_id = uniqid();
setcookie(\'uniq_id\',$uniq_id,(time()+3600*24*30));
}
else $uniq_id = $_COOKIE[\'uniq_id\'];

//соеденяемся с базой и проверяем
$con = mysql_connect($connect_config[\'host\'],$connect_config[\'user\'],$connect_config[\'pass\'],true);
if($con == false) die(\'<p style=\"color:red; font-weight:bold; font-size:14px\">Failed to connect with DB \'.$connect_config[\'db\'].\'!</p>\');
mysql_select_db($connect_config[\'db\'],$con) or die(\'<p style=\"color:red; font-weight:bold; font-size:14px\">Failed to connect with \'.$connect_config[\'user\'].\'Удалён

//удаляем устарелые сесии (60 минут? О_о)
mysql_query(\"delete from online_list where last_time<\".(time()-$config[\'online_time\']*60),$con);

// зачем эта проверка? там всегда ip. (читать суперглобальные массивы)
if(preg_match(\"/[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}/isU\",$_SERVER[\'REMOTE_ADDR\'])
// isU - зачем? тут ip 999.999.999 будет считаться правильным
and !preg_match(\"/[^a-zA-Z0-9\\_\\[\\]\\.\\(\\)\\-]/isU\",$uniq_id)) // умора...
// записав по другому, получаем:
// and preg_match(\"/[a-zA-Z0-9\\_\\[\\]\\.\\(\\)\\-]/isU\",$uniq_id)) // что по своей сути бред (читать регулярные выражения)
{
$last_time = mysql_result(mysql_query(\"select last_time from online_list where uniq_id = \'\".$uniq_id.\"\' and ip = \'\".$_SERVER[\'REMOTE_ADDR\'].\"\'\",$con),0,0);

if(!$last_time) mysql_query(\"insert into online_list (uniq_id, ip, last_time) values (\'\".$uniq_id.\"\', \'\".$_SERVER[\'REMOTE_ADDR\'].\"\', \'\".time().\"\')\",$con);
else mysql_query(\"update online_list set last_time = \'\".time().\"\' where uniq_id = \'\".$uniq_id.\"\' and ip = \'\".$_SERVER[\'REMOTE_ADDR\'].\"\'\",$con);
}

$online = intval(mysql_result(mysql_query(\"select count(*) from online_list where last_time>\".(time()-$config[\'online_time\']*60),$con),0,0));
//$online - кол-во гостей на сайте

mysql_close($con);
unset($con);

echo $online;
?>[/code]
И к базе подлючаешь

Файл выносишь так: <? include \'online.php\';?>


Изм. 1 раз. / Посл. изм.
ShwartZ * 7.58
(10 апр 2013, 19:41)
6. (10 апр 2013, 19:58) [0/0] [0] [отв] [спам] [под] +1 | -1

<?php
CREATE TABLE `online_list` (
`id` bigint(20) unsigned NOT NULL auto_increment,
`ip` varchar(255) default NULL,
`uniq_id` varchar(255) default NULL,
`last_time` varchar(255) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
?>
и выполни запрос обязательно

7. (10 апр 2013, 20:04) [0/0] [0] [отв] [спам] [под] +1 | -1

А без файла ни как? Над просто тип как информер?

  • 1 из 1
Чтобы писать сообщения авторизируйтесь или пройдите регистрацию на сайте.
Подписаны: 2
Скачать тему | Файлы темы | Фильтр сообщений