За последние 24 часа нас посетили 49768 программистов и 1763 робота. Сейчас ищут 1233 программиста ...

делаю счётчик пользователей

Тема в разделе "PHP для новичков", создана пользователем Terminator004, 27 янв 2017.

  1. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Могу. Но не хочу.
     
  2. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    Ну, пожалуйста, я тебе спасибо везде поставлю. Мне очень надо. Пожалуйста.
     
  3. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Почему я должен за тебя жопу рвать? Оно тебе надо, не мне? Ведь так?
     
  4. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    PHP:
    1. $db = mysqli_connect ($host, $user, $pass, $db) or die ($db->error);
    2. if (isset ($_SESSION["id"])) {
    3.     $user_id = $_SESSION["id"];
    4.     $acur = 300; //Точность проверки;
    5.     $q = $db->query ("SELECT user_id, date FROM `online` WHERE `user_id` = '$user_id'");
    6.     while ($res = $q->fetch_assoc ()) {
    7.         if ($res["user_id"] == $user_id) {
    8.             $db->query ("UPDATE `online` SET `date` = '".time ()."' WHERE `user_id` = '$user_id'");
    9.         } else {
    10.             if ($res["date"] + $acur < time ()) {
    11.                 $db->query ("DELETE FROM `online` WHERE `user_id` = '".$res["id"]."'");
    12.             }
    13.         }
    14. }
    15. function quantity () {
    16.     $q = $db->query ("SELECT COUNT(*) FROM `online`");
    17.     $quantity = $q->fetch_array ()[0];
    18.     return $quantity;
    19. }
    И в то место где надо вывести:
    PHP:
    1. <?=quantity ()?>
    Пробуй так. Тут даже больше половины. Будут ошибки - обращайся. Я не дебажил. Только что с ума настрочил, мог и ошибиться.
     
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    хотел написать, выразить мысль свою, да что - то потом потерял логику всю и скрыл в спойлер
    а теперь
    Что если в $_SESSION["id"] нету значения, но программа скажет что такой идентификатор вовсе имеется ? {"id":"","password":""}
    ПРИ
    выходе из "я как авторизованный помечен"

    PHP:
    1. $db = mysqli_connect ($host, $user, $pass, $db) or die ($db->error);
    2. if ( TRUE ) {
    3.     $user_id = '';
    4.     $acur = 300; //Точность проверки;
    5.     $q = $db->query ("SELECT user_id, date FROM `online` WHERE `user_id` = ''");
    6. # array null
    7.    цикл оффнулся
    8. }
     
  6. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Ну ты же понимаешь что это набросок. Можно, конечно проверку сделать на существование пользователя в таблице `users`
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    [​IMG]
    --- Добавлено ---
    просто уже в привычку вошло в душе пи*** самого себя, если досконально не учтешь все мельчайшие факторы поведения кода и уязвимостей
     
    SamyRed нравится это.
  8. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Прям лайк выпросил :) Я аж умилился когда спойлер открыл :D
    --- Добавлено ---
    У меня ещё не вошло) Надеюсь, скоро войдёт :)
     
  9. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    яНиМогуОтТакойФразы :D:D:D:D:D:D:D
     
    SamyRed нравится это.
  10. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Ага, сам поржал когда писал :D:D:D:D
    --- Добавлено ---
    Посмотрите, кстати, на мой код, я ничего не пропустил? Имеется ввиду того, из-за чего не будет правильно работать скрипт.
     
  11. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Ну у тебя просто наверное еще на сайт Шеллы не лили, не было SQL и Email injection. У меня был случай буквально недавно друг купил темплейт на монстрах, решил свой проект открыть,и говорит что у него странные файлы появляются на хостинге. В общем взял у него почитать лог, посмотрел ему через питон в 2 запроса залили шелл туда и получили полный доступ к сайту.Уязвимость причем была в теме,которую продавали на монстрах.)
     
    denis01 нравится это.
  12. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    Parse error: syntax error, unexpected '[' in Z:\home\localhost\www\Tests\project\index.php on line 31
     
  13. applicab

    applicab Активный пользователь

    С нами с:
    14 июл 2014
    Сообщения:
    73
    Симпатии:
    18
    я живу в г. Донецке, ныне столице Донецкой народной республики, терминалов тут нет, от слова совсем и что это вообще такое? :)
     
  14. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    Занного напишу ошибку, а то тут строка не та.
    Parse error: syntax error, unexpected '[' in Z:\home\localhost\www\Tests\project\index.php on line 17
     
  15. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Ну, ты гуглил что значит эта ошибка?
     
  16. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    знак плохо написан
     
  17. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Что значит плохо? Ногой, что ли? Или в другой кодировке? Что в твоём понимании плохо?
     
    Fell-x27 нравится это.
  18. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    не знаю
     
  19. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Ну так гугли! Ты тролишь нас? Я не пойму...
     
  20. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @Terminator004 какая у тебя версия PHP? Может она не поддерживает такой код
    Вот причина, появление такой возможности с версии 5.4 стало доступно

    https://secure.php.net/manual/ru/migration54.new-features.php
    • Добавлена возможность разыменования массивов, возвращаемых функциями. Например: foo()[0].
     
  21. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Два года 5.6 осталось на поддержке.
    [​IMG]
     
  22. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Судя по ранним скринам ТС у него стоит Денвер,а это значит что у него 5.2 или 5.3)
     
  23. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    5.1.12 стабильная версия. Денвер с 5.3 - это лютые полурабочие костыли, которые хрен поднимешь.
    --- Добавлено ---
    Скоропостижно они его похоронить решили. Не иначе, чтобы модулеписателей подстегнуть.
     
  24. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    php у меня 5.3.13
     
  25. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Ну вот, тебе объяснили причину проблемы. Сделай хоть что-то сам!