"PHP" / Говнокод #5737 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
<?php
//дата и время.
$date1 = date('d.m.Y');
$date2 = date('H:i:s');
//$i - счётчик пользователей, $cnt - то, что будем выводить (в завершении)
//$uall - Ссылки на пользователей онлайн
$i = 0;
$cnt = NULL;
$uall = NULL;
$db->query = "SELECT id, nick, timeof, online FROM ".$GLOBALS['pref']."users";
$qonl = $db->query();
$cnt .= "Всего участников ";

while ($usronl = $db->farray($qonl)) {
if ($usronl['online'] == TRUE) {
$ar = explode("|:|", $usronl['timeof']);

//Если сегодняшняя дата
if ($ar[0] === $date1) {

$est = explode(":", $ar[1]);
$tm = explode(":", $date2);
$m4 = $est[0] - $tm[0];
$m5 = $tm[1] - $est[1];
$m6 = "$m5";
if (($est[0] === $tm[0]) && (($m5 <= 15))) {
if ($i > 0) { $p = ","; } else { $p = NULL; }
if ($i == 1) { $s = ","; } else { $s = NULL; }
$i++;
$uall .= $s."<a href=\"http://".$GLOBALS['url']."/users/
profile/".$usronl['id']."/\" title=\"Посмотреть профиль\">".$usronl['nick']."<
/a>".$p." ";

 } elseif (($m4 == -1) && ($m6{0} === "-" && $m5 <= -45)) {
if ($i > 0) { $p = ","; } else { $p = NULL; }
if ($i == 1) { $s = ","; } else { $s = NULL; }
$i++;
$uall .= $s."<a href=\"http://".$GLOBALS['url']."/users/
profile/".$usronl['id']."/\" title=\"Посмотреть профиль\">".$usronl['nick']."<
/a>".$p." ";
 }
  }
   } 
	} //end while
if ($i == 0) {
$uall .= "никого";
} else {

$co = strlen($uall);
$uall = substr($uall, 0, $co - 7);
$uall .= ".";
}
$cnt .= "(".$i."):<BR>".$uall;

?>

Писал вывод онлайн посетителей на сайте в 2009 году.

Запостил: Furry Furry, (Updated )

Комментарии (20) RSS

  • SQL injection, DateTime->Diff, DATE_FORMAT, DATEDIFF, COUNT? неа не слышал
    Ответить
    • Где там injection нашли? Переменная явно в конфиге, туда никто ничего не заинжектит кроме тех у кого есть доступ к серверу, а имея доступ накой надо инжектить, да еще и в конфиг?
      Ответить
          • ну это не факт что они и на конкретном хосте отключены
            Ответить
            • Найдите мне того крейзи-админа, который либо сам их поставит, либо даст доступ тому кто их ставит.
              Ответить
              • да сейчас уже таких и не встретишь
                тем более в три часа ночи
                Ответить
  • 1) $db->query = "xxx";
    $qonl = $db->query();
    За такое надо руки рубать на уровне шеи.

    2) Код обфусцирован, через неделю нихуя не поймёте.

    3) Накой использовать двойные кавычки, если делать конкатенацию? Мануал вообще читали, знаете отличие?

    4) тупое мясо (перемешана логика и шаблон)

    5) Почитайте в мануале про тернарный оператор

    6) Чем отличаются строки 30-32 от 38-40?

    7) Пожалуй я погорячился послав вас читать мануал, смените профессию. Делать сайты должны подготовленные программисты, а не домохозяйки прочитавшие книгу "PHP за 12 часов".
    Ответить
      • Вы не дочитали до конца, пункт 7 решает проблему со временем
        Ответить
        • >"PHP за 12 часов".
          LOL я помню читал за PHP за 24 часа
          ее что сократили добавив видео уроки ?)
          Ответить
          • Это образно, последняя книга по php, которую я читал была "Web Database Applications with PHP & MySQL" в далеком 2002м, потом у меня появился полноценный проект и я понял что книги по ПХП такое же говно как и 99% кода на нём.
            Ответить
            • >>книги по ПХП такое же говно как и 99% кода на нём.
              согласен я тоже книгу читал давно уже лет 7 назад наверное
              и автор книги везде в примерах писал индексы массивов без кавычек $_GET[id]
              сразу понял что это гавно, забросил эту затею и решил что лучше уж читать мануалы.
              вот только одного не понял как могли ее в печать пустить?
              им что совсем плевать что печатать
              ----------
              я точно не помню как книга называлась и чья была, но точно то что СПБ, и что то там про ПЫХ 4
              Ответить
              • > согласен я тоже книгу читал давно уже лет 7 назад наверное
                А вот это зря, в мире есть много книг которые стоит читать...

                >вот только одного не понял как могли ее в печать пустить?
                Не думаю что местные типографские бабули сильно рубили в пыхе.

                >и автор книги везде в примерах писал индексы массивов без кавычек $_GET[id]
                И это при том что там повсеместно использовался register_globals.
                Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8