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

    +109

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if(!mysql_select_db($db_name,$data)){
         print "<BR>";
         echo mysql_error();
         die();
        }

    Нашел в одном из движков онлайн игры

    Запостил: Vasiliy, 30 Мая 2010

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

    • да затчка как нибудь небось
      Ответить
    • и где говнокод ? лол
      Ответить
      • Может забыли exit() после die() сделать?
        Ответить
      • Кэп, что с вами?) Очевидно, автор намекает, что все выводимое можно было запихнуть в die(); не используя принтов и эхов, мол короче было бы. Но да, экземпляр ГК уныл и невесел.
        Ответить
        • Намного короче
          mysql_select_db($db_name,$data) || die ('<br>' . mysql_error());
          Да еще '<br>' (лучше уж выводить text/plain, чем такие огрызки)
          Ответить
    • Надо было
      print "<BRrrrrr>";
      Ответить
    • показать все, что скрытоопять захардкоженный таг, да еще и в устаревшем HTML 4.0.

      Все таки PHPшники все имбицилы
      Ответить
      • Вообще переходить на прямые оскорбления - это не правильно, но выбора не остается. Ты либо толль, но очень толстый тролль, либо мудак. Мудак ты т.к. :
        1) что бы высказать свое авторитетное мнение мог бы и залогиниться, что бы все PHPшники знали героя в лицо
        2) вменяемые люди понимают, что язык программирования сам по себе ничего не пишет. Это делают люди. Некоторые хорошо, некоторые плохо. То, что у языка порог вхождения низкий к минусам отнести можно с боооОльшой натяжкой. Но ты этого, как и положено мудаку, не понимаешь, а тупо срешь.
        Ответить
      • >опять захардкоженный таг, да еще и в устаревшем HTML 4.0.

        Интересно, какое отношение имеет тэг "<BR>" к РНР?
        Ответить
        • Наверное, подразумевалось разделение логики и представления, мол <BR> должен быть в шаблоне или где там.
          Ответить
          • Нахера нужно такое разделение и таскать с собой шаблоны и прочую чепуху, если, фактически, нужно вывести текст, разово. При этом, возможно, никто никогда его и не увидит.
            Ответить
            • Сие мне неведомо, но товарищу с захардкоженным тагом не понрвилось, подазреваю, именно это
              Ответить
              • Ну вот видите -- нормальным программистам очевидно, что ошибки обрабатываются эксепшенами или возвращением еррор кодов, что бы вызывающая программа могла записать их в лог, могла проверить -- вызвал ли код ошибку (в тесте) итд.

                Но PHPшникам это не ведомо. Они пишут свое тупое 'echo "<BR>"' где угодно: от бизнес-логики до кода доступа к данным.

                Потому любой PHPный проект проще выкинуть, чем довести до ума.
                Ответить
                • > могла проверить -- вызвал ли код ошибку (в тесте)

                  говнокодеры тестов не пишут. что насчёт пхпистов?
                  Ответить
                • Госпади, опять что ли повторяться, что язык он ничего не кодит, кодят на нем?!..."ошибки обрабатываются эксепшенами или возвращением еррор кодов, что бы вызывающая программа могла записать их в лог, могла проверить -- вызвал ли код ошибку (в тесте) итд" - да, это все правильно и справедливо и МВЦ - это чудесный шаблон проектирования и на голом пхп писать что-то сложнее гостивухи из 2 файлов как-то не айс. Только нафига бросаться каллом во всех, если конкретный человек пишет говно by design. Среди "разработчиков" на любом языке хватает тех, кто слово "патерн" только слышал
                  Ответить
            • Ненахера. Нормальная функция вывода ошибок, ставящая http status и выводящая нормальную страницу (даже hard coded), это уже достаточное разделение, чтобы скрипт (масштаба гостевая-из-двух-фаилов) выглядел по человечески.
              Ответить
    • а зачем вообще в ответ пихать описание ошибки? все должно логгиться в лог, а в ответ красивое сообщение, понятное конечному пользователю, вроде:

      нашу систему ГовноПро(тм) поленились установить! не возвращайтесь сюда, пока тупой админ не догадается запустить сетуп!
      Ответить
      • ага, надо понятное конечному пользователю сообщение, понятное конченому админу сообщение, и инфа чё делать - паниковать и звонить в саппорт или просто перезагрузить страницу через 5 минут.

        бесят сука "Unknown error" в некоторых поделиях
        Ответить
        • ну что поделать, если прогеров какой-нить "access denied: invalid user or password" вводит в ступор и для них это "Unknown error"
          Ответить
      • Потому что это PHP.
        тут нет понятия "лог", "админ" и прочих атрибутов серьезного софта.
        Тут есть школьник, который тотал коммандером по FTP зашел на сайт, там нажал F4, и в открывшемся EditPlus прямо на живом сайте что-то поправил.

        Если сайт не открывается -- ему звонят.
        Зачем ему логи, если он сам этот сайт писал?

        Ошибки надо отдавать прямо в аутпут, на глаза удивленному пользователю.
        Поищите в гугле "Warning: mysql_connect() ", и увидите тысячи сайтов с ошибками типа

        Warning: mysql_connect(): access denied for vpupik in
        /home/v/vpupkinsite/www.myfuckingsite.ru/gostevaja_kniga.php: 1952 line
        Ответить
        • > тут нет понятия "лог", "админ" и прочих атрибутов серьезного софта.

          серьезный софт пишется на аспнете или яве?
          Ответить
          • видимо, на руби и питоне...

            а вообще, что значит "серьезный софт"? это когда маленький проект, но хорошо сделанный, или космический корабль с тоннами Ге?
            Ответить
            • > а вообще, что значит "серьезный софт"?


              спроси у того геста, это он же сказал "тут нет понятия "лог", "админ" и прочих атрибутов серьезного софта."
              Ответить
        • > Warning: mysql_connect(): access denied for vpupik in
          /home/v/vpupkinsite/www.myfuckingsite.ru/gostevaja_kniga.php: 1952 line

          а вот это гуд, можно изучить строение сайта
          Ответить
          • ой, это еще ладно,
            вот я хостился как-то на холме (*.h1.ru), захожу я как-то в ЧАВО, а мне в текстареа весь лог ошибки мускула вместе с запросом и пассвордами... с трудом вылез изпацтола от гоготу
            Ответить
        • ой, это еще ладно
          Ответить

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