Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 12.07.2017
Сообщений: 3
1

Онлайн счетчик на php с использованием red bean

12.07.2017, 19:12. Просмотров 795. Ответов 3
Метки нет (Все метки)


Основной php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?php
 require "cooke.php";
 require 'rb.php';
R::setup( 'mysql:host=localhost;dbname=count_test','root', '' ); 
$cookie_key = 'online-cache'; 
$ip = $_SERVER['REMOTE_ADDR'];
$online = R::findOne('online', 'ip = ?', array($ip));
 
    CookieManager::store($cookie_key, json_encode(array(
    'id' => $online->id,
    'lastvisit'=> $time)));  
 
echo '<pre>';print_r($_COOKIE);exit();
 
if ( $online ){
    // Update
    if (CookieManager::stored($cookie_key)){
        // Via cookies
        $c = (array) json_decode(CookieManager::read(cookie_key), true); 
    if($c){
      if($c{'lastvisit'}< (time() - (60 *5 )) ){
            exit('123');
    $time = time();
    $online->lastvisit = $time;
    R::store($online);    
    CookieManager::store($cookie_key, json_encode(array(
    'id' => $online->id,
    'lastvisit'=> $time
    )));  
      }
    }else{
          exit('123');
    $time = time();
    $online = R::dispense('online');
    $online->lastvisit = $time;
    $online->ip = $ip;
    R::store($online);
    CookieManager::store($cookie_key, json_encode(array(
    'id' => $online->id,
    'lastvisit'=> $time
    )));
    }
    }else
    {   // Without cookies
      exit('123');
     $time = time();
    $online->lastvisit = $time;
    R::store($online);    
    CookieManager::store($cookie_key, json_encode(array(
    'id' => $online->id,
    'lastvisit'=> $time
    )));  
    }
 
}
else{
    // Create
    $time = time();
    $online = R::dispense('online');
    $online->lastvisit = $time;
    $online->ip = $ip;
    R::store($online);
    CookieManager::store($cookie_key, json_encode(array(
    'id' => $online->id,
    'lastvisit'=> $time
    )));
 
}
$online_count = R::count('online', "lastvisit > " . ( time() - (3600) ));
?>
 <html lang="en">
<head>
     <meta charset="UTF-8">
     <title>Online test</title>
</head>
 
  <body>
 
  Счетчик онлайна: <?php echo $online_count; ?>
 
  </body>
</html>
cookies.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
 
 
 
class CookieManager {
 
    public function __construct() {
        //empty one
    }
 
    static public function store($key, $value, $expire = false, $path = '/', $domain = 'current', $secure = 0) {
        if ($domain == 'current') {
            $domain = $_SERVER['HTTP_HOST'];
        }
        if (!$expire) {
            $expire = time() * ( 3600 * 24 );
        }
        setcookie($key, $value, $expire, $path, $domain, $secure);
        return true;
    }
 
    static public function read($key) {
        if (isset($_COOKIE[$key])) {
            return $_COOKIE[$key];
        } else {
            return false;
        }
    }
 
    static public function stored($key)
    {
        return isset($_COOKIE[$key]);
    }
 
    static public function delete($key, $value = '', $expire = 1, $path = '/', $domain = 'current', $secure = 0) {
        if ($domain == 'current') {
            $domain = $_SERVER['HTTP_HOST'];
        }
        setcookie($key,$value,$expire,$path,$domain,$secure);
        return true;
    }
 
}

Я хочу чтобы при обраотке данных выводило сообщение "123" каждые 5 мин но вместо этого оно выводится постоянно и когда я чекаю чо там в массиве "echo '<pre>';print_r($_COOKIE);exit();" он оказывается пустым.
Онлайн счетчик на php с использованием red bean
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.07.2017, 19:12
Ответы с готовыми решениями:

Red Bean PHP не записывает в бд
Смотрел по интернету и вроде все верно, но при нажатии на кнопку вместо записи в бд он выводит...

Red Bean PHP ошибка сохранения. R::store();
//$uid Массив с ID (00000000,00000001...) $eventscount = &quot;12&quot;; //Название столбца в таблице....

Счётчик посетителей онлайн (PHP, jQuery mySQL) - не работает?
Добрый вечер!:) Имеется следующий код счётчика посетителей онлайн. Оригинал статьи находится...

Redbean php Store requires a bean, got: array
$db = R::getAll('SELECT * FROM notifications'); if($db) { foreach ($db as...

3
0 / 0 / 0
Регистрация: 12.07.2017
Сообщений: 3
12.07.2017, 19:13  [ТС] 2
И чтобы увеличть производительность делаю это через куки.
0
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
12.07.2017, 19:38 3
куки становятся доступны при повторном запросе
1
0 / 0 / 0
Регистрация: 12.07.2017
Сообщений: 3
12.07.2017, 21:49  [ТС] 4
Спасибо!
Но теперь выяснилось что я не получаю $lastvisit из db.Видимо ошибка в коде.Никак не могу найти.Помогите пожалуйста, буду благодарен.
Онлайн счетчик на php с использованием red bean
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.07.2017, 21:49

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

счётчик онлайн посетителей
Помогите,пожалуйста, написать счйтчик онлайна посетителей на сайте. Только нужно чтобы он работал...

Какой счетчик показывает сколько онлайн?
Сабж. Раньше был SpyLog, сейчас я так понял его openstat купил, не нравица мне он. Есть еще...

Создать счетчик для онлайн игры
помогите создать счетчик для онлайн игры возможно ли с помощью php такое сделать? полностью...

PHP счетчик
Здравствуйте! Помогите с кодом!!! Значит есть обычный сайт, на нем есть форма заказа. Т.к....

Три строчки кода (с использованием ajax), а счётчик неправильно работает
Здравствуйте. Имеется страница mypaints в личном кабинете юзера. На этой странице висит...

Средствами PHP и с использованием ООП php создать реализацию следующего интерфейса:
interface ArrayHelperInterface extends IteratorAggregate, ArrayAccess, Countable { /** *...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.