1. PHP / Говнокод #2544

    +171

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    $sql=mysql_query("select * from orders1 where sname='$user' and rang='1'");
    $cd1=mysql_num_rows($sql);
    $sql=mysql_query("select*from orders1 where sname='$user' and rang='2'");
    $cd2=mysql_num_rows($sql);
    $sql=mysql_query("select*from orders1 where sname='$user' and rang='3'");
    $cd3=mysql_num_rows($sql);
    $sql=mysql_query("select*from orders1 where sname='$user' and rang='4'");
    $cd4=mysql_num_rows($sql);
    $sql=mysql_query("select*from orders1 where sname='$user' and rang='5'");
    $cd5=mysql_num_rows($sql);
    $sql=mysql_query("select*from orders1 where sname='$user' and rang='6'");
    $cd6=mysql_num_rows($sql);
    $sql=mysql_query("select*from orders1 where sname='$user' and rang='7'");
    $cd7=mysql_num_rows($sql);
    $sql=mysql_query("select*from orders2 where sname='$user' and rang='1'");
    $cord1=mysql_num_rows($sql);
    $sql=mysql_query("select*from orders2 where sname='$user' and rang='2'");
    $cord2=mysql_num_rows($sql);
    $sql=mysql_query("select*from orders2 where sname='$user' and rang='3'");
    $cord3=mysql_num_rows($sql);
    $sql=mysql_query("select*from orders2 where sname='$user' and rang='4'");
    $cord4=mysql_num_rows($sql);
    $sql=mysql_query("select*from orders2 where sname='$user' and rang='5'");
    $cord5=mysql_num_rows($sql);
    $sql=mysql_query("select*from orders2 where sname='$user' and rang='6'");
    $cord6=mysql_num_rows($sql);
    $sql=mysql_query("select*from orders2 where sname='$user' and rang='7'");
    $cord7=mysql_num_rows($sql);
    while($row=mysql_fetch_array($sql)){
    if(($cord1 >1 and $stat==1) or ($cord2 >1 and $stat==2) or ($cord3 >2 and $stat==3) or ($cord4 >2 and $stat==4) or ($cord5 >1 and $stat==5) or ($cord6 >1 and $stat==6) or ($cord7 >1 and $stat==7) or ($cd1 >1 and $stat==1) or ($cd2 >2 and $stat==2) or ($cd3 >2 and $stat==3) or ($cd4 >2 and $stat==4) or ($cd5 >1 and $stat==5) or ($cd6 >1 and $stat==6) or ($cd7 >1 and $stat==7)){
    ?>
     <TABLE  width=100% border="1" align="center">
    ...
    ...
    ...

    С проекта Otvet.mail попросили помощи с тем, что не выводиться какая то таблица, после того как прислали файл, увидел 500 строк кода, без единой функции, все было написано в этом же духе. *Жуть*, и после того как спросил, от какого запроса работает этот цикл, мне прислали $sql=mysql_query("select*from orders1 where sname='$user' and rang IN(1,2,3,4,5,6,7)"); который находиться где-тов начале файла, переменная под который была 100 раз переопределена!)))

    Запостил: 1_and_0, 04 Февраля 2010

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

    • Еще вот такой запросик был $sql=mysql_query("select user, parent, rang, email, icq, skype, cot, magent, date_active, status from users where parent4='$login'");

      )))
      Ответить
      • А чем этот запрос плох ?!
        Ответить
        • $sql=mysql_query("SELECT * FROM users WHERE parent4='$login'");
          Да, и ещё один момент, по названию таблиц кстати видно, какая "Хорошая" нормализация баз данных на том проекте)))
          эх..., говнокодеры блин...
          Ответить
          • А если в таблице 20 столбцов и некоторые из них типа TEXT, вы тоже делаете SELECT * ?!?!?! Из базы нужно вытаскивать только то, что нужно.

            То, что приведено в первом посте - неоспоримый говнокод. Я понимаю, если б были SELECT COUNT(*) без GROUP BY. это еще как-то можно понять. но это...

            А что у них на мейл ру нету мемкэша там...?
            Ответить
          • 1_and_0, тебе именно этот момент и указал ответивший на твой вариант запроса, так что либо уважай чужой труд, каким бы говнистым он не был, но работал как и задумано, либо же учись делать действительно правильно. А выбирать из таблицы все, когда нужно только часть - это одно из самого говнистого, ибо память не бесконечна, а вот затратить лишние 20-30 секунд на указание нужных ПОЛЕЙ (а не таблиц, кстати, тоже по этому поводу учи матчасть) - это совсем не затратно.

            При всем уважении, просто удивляюсь иногда попыткам обосрать по-полной тех, кто и так с трудом пытается "вылезти" из говнеца в коде :) Сам ведь писал и продолжаю иногда писать совсем "каку", но как умею, так для себя и делаю.
            Ответить
            • Учту.
              Про матчасть вообще не понял, к чему Вы её приписали?
              Ответить
              • Это я про то, что таблицы и поля совсем разные вещи.
                Понимаю что ты мог просто перепутать, но на "эмоциях" высказал и это за компанию со всем. Прошу прощения за эту неадекватность :)
                Ответить
    • страшно становится...
      Ответить
      • самое страшное, что люди берутся за написание сайтов не зная языка! Итог всего разговора: я узнаю что фраза "Выведи все переменные которые у тебя есть в условии, на экран браузера, и просмотри их визуально, может быть они пустые или нулевые" - повергла автора этого файла в тихий ужас, а про то что данные можно хранить в сессии или передавать $_GET он то же не слышал..., печально что все так...
        Ответить
    • Детально файл рассматривал, наткнулся на страшные вещи...

      if ($nm<2):
      mysql_query("update users set u='0' where user='$login' limit 1");
      endif;
      mysql_query("delete from users where user='$refs' limit 1");
      echo '<b> ',$refs,' успешно удалён! Поскольку он был неактивен.Обновите страницу</b>';
      else:
      include('config.php');
      $h = "MIME-Version: 1.0\r\n";
      $h .= "From: \"Admin_antixak\" <$jj>\r\n";
      $h .= "X-Mailer: PHP 5\r\n";
      $h .= "Content-Type: text/html;\r\n";
      $ms= 'Нарушитель:<b> '.$login.'</b><br>Он пытался удалить<b> '.$refs.' </b> из системы с помощью взлома, очень рекомендуется его забанить.';
      $ms = convert_cyr_string ($ms,w,k);
      mail("$jj",'Обезврежено агрессивное удаление аккуанта',$ms, $h);
      echo 'Замечены вредоносные действия не совместимые с жизнью!';
      endif;
      Ответить
      • echo 'Замечены вредоносные действия не совместимые с жизнью!';
        Пхахахахаха убило!
        Ответить
        • ага)) Я вот только не понимаю, жизнь чья оценивается, пользователя или все таки системы?))
          Ответить
      • Господи, convert_cyr_string оказывается в стандартной библиотеке (и даже не depricated).
        И как после такого удержаться от кидания гуано в сторону PHP?
        Ответить
    • У меня просто нет слов.
      Ответить
    • Точно комбинаторный взрыв...
      Ответить
    • Че-та я ничего не понял.
      Это что типа проверка таблицы на существование:
      if(mysql_query("DROP TABLE 'table_name'"))
        echo 'Таблица существовала!';
      Ответить

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