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

    +157

    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
    <?
    @$ok=$HTTP_POST_VARS["ok"];
    @$user=$HTTP_POST_VARS["user"];
    @$pwd=$HTTP_POST_VARS["pwd];
    if(!isset($ok))
    echo "<form action=.$2.php. method=POST>"
    ."Name<input type=text name user><br>"
    ."Password<input type=password name=pwd><br>"
    ."<input type=submit name=ok value=Войти>"
    ."</form>";
    else
    {
    if(($user="Demo")&&($pwd=="Demo"))
    echo "Wellcome";
    else
    echo "Access Blocked";
    }
    ?>

    Говорят, что это не говнокод.

    Запостил: kal1sha, 14 Июля 2010

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

    • это не говнокод это проба пера какого то паскалиста if(($user="Demo")&& ..... не Гк а оплошность

      о а вот это echo "<form action=.$2.php. method=POST>" просто гон
      Ответить
      • те кто знает паскаль понимают, что есть разные типы данных, а этот мало что понимает.
        Ответить
    • за одно HTTP_POST_VARS бить пока не исправит

      и при этом @$ok=$HTTP_POST_VARS["ok"]; почему то, а не $ok=@$HTTP_POST_VARS["ok"]; если уж на то пошло
      Ответить
      • @func($undef_var), func(@$undef_var) и @func(func2(func3(....($undef_var)))) спрячут ошибку одинаково.

        если все функции заданы, а вот переменная - нет.
        Ответить
        • вот потому и ругают пхп, что позволяет ворнинговать прямо в стдоут (в данном случае бровсер) и при этом затыкать ошибку. Так и получаем говно, когда вдруг у кодообезьянки на продакшене начинают сыпаться нотисы,
          он: не обращайте внимания!
          ему: нехорошо, исправь!
          и он затыкает этим оператором "пробка" и радуется

          лично я не в курсе, потому что как правило не затыкаю функции, при этом еррор_репортинг на макс. - в лог.

          Золотые слова друга:
          лучше видеть откуда говно потекло. Лучше пусть громко перднет, чем предательски набздит. (ц)
          Ответить
          • просто никто не заставляет программеров обдумывать все варианты событий (проверка типа, например), чтобы никаких внезапных ворнингов не выступало.
            Ответить
            • на самом деле, это не так уж сложно
              особенно с помощью сквозной функциональности (механизм исключений, паттерн-матчинг)
              Ответить
              • >с помощью сквозной функциональности (механизм исключений, паттерн-матчинг)
                Где? На PHP? О_о Это же не наш метод! :D
                Ответить
                • исключения появились славабогу.
                  Ответить
                  • ага, только ими никто не пользуется, потому что 80% API возвращает ошибку через something_error(), еще 10 через обычные php ошибки
                    Ответить
    • За HTTP_POST_VARS -- пол года (этот подход деприкейтед).
      За каждую собчку по 5 лет.
      За пропущенную кавычку -- еще год.
      За echo HTMLя еще 10.
      Итого -- пожизненное исключение из ПТУ.
      Ответить
    • На 13-ой строке присвоение? хD
      Ответить

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