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

    +162

    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
    <?
    $server="localhost";
    $user="";
    $pass="";
    $DB="mynews";
    $ntitle=$title;
    $ntext=$newstext;
    $nuser=$user;
    $now = date(" H : i : s d - m - Y "); // дата будет выводиться в формате "время, дата"
    mysql_connect($server,$user,$pass) or die("Нет коннекта!");
    mysql_select_db($DB);
    mysql_query("Insert INTO news(ntitle,ntext,ndate,nuser) VALUES('".addslashes($ntitle)."','".addslashes($ntext)."','".addslashes($now)."',
    '".addslashes($nuser)."')");
    mysql_close();
    echo "Новость добавлена!";
    ?>

    Чуть ниже:

    '". addslashes ($ ntitle )."' // эта строка нужна для того, чтобы в заголовке правильно отображались кавычки.
    Оттуда же: "Как видите, вместо mysql-даты используется varchar, так проще."

    http://sources.ru/magazine/0106/08.html

    Запостил: telnet, 27 Июня 2010

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

    • быдлокод - всмысле, что все навалено, как водится, в кучу. ну и высказывания конечно дибилизмом поражают )

      итог - не плюсовал
      Ответить
      • Меня больше улыбает, что находятся бестолочи, которые сами не понимают толком, что делают, но считают своим долгом написать статью, включив в неё свою неправильную точку зрения и таким образом передав её другим.
        Ответить
        • к сожалению, это массовое явление, и имя им - кодообезьянки
          Ответить
          • Вот-вот. Собственно, как я на эту статью-то вышел: написал один товарищ с просьбой объяснить, как сделать ленту новостей с pagination - типа прочитал статью, но не врубился до конца. Быстро выяснилось, что чел с БД вообще работать не умеет, а его сайт (даром что несколько сотен страниц ориджинал контента) - это фактически статика, где PHP используется только для инклуда хедера и футера. Так вот невзначай взяли и обфейспалмили, блин.
            Ответить
            • несколько сотен страниц.... я в шоке
              Ответить
            • даже не статика, простое переименование в файла.html в .php убивает фичи, присущие статическому контенту, чтобы вернуть надо код писать
              Ответить
              • какие фичи?
                Ответить
                • Last-Modified и прочую матчасть :)
                  Ответить
                  • Last-Modified можно (со скрипом, наверное) запихнуть и в http-equiv
                    Ответить
                    • Можно. Только работать не будет. Уэбдевелоперы такие уэблевелоперы, ох.
                      Ответить
                      • наверное не будет. во всяком случае, не пробовал. Таки всегда полагал, что серверные заголовки(и контент-тип в том числе) нужно отдавать сервером. фиг знает, какие http-equiv обработаются нормально.
                        а вообще, кеширование динамики в статику, по-моему, хорошая вещь
                        Ответить
                        • О, да, хорошо что PHP сама выдает хоть Content-Type :)
                          Можно нагородить проксей которые Content-Length, посчитают, но ведь костыли же
                          Ответить
                          • а сервером (читай, апачем) для статического контента Content-Length сам не формируется?
                            Ответить
                            • Формируется, но гораздо важнее то, что для динамического на пехепе - уже нет.
                              Ответить
                              • ну в том и фокус. динамический скрипт может сам посчитать свою длину, а для статики все уже есть.
                                ну а кто тупо "простое переименование в файла.html в .php" того уж проблемы
                                Ответить
                                • Ничего хорошего в этом нет, могли бы сделать это "из коробки", чтобы не приходилось прикручивать поддержку HTTP руками изза одного инклюда. Просто наконфигурить даже нельзя
                                  Ответить
                                  • что именно вы хотели бы "из коробки", как можно мельче поясните, пожалуйста.
                                    автоматом слать из пхп заголовки контент-тип и контент-ленф не имеет смысла, ибо они неочевидны. вон, уже для поддержки сессии пхп шлет заголовок но-кеш, и в отдельных случаях это порождает проблемы
                                    Ответить
                                    • Мне кажется или обсуждение заходит на третий круг?
                                      > фичи, присущие статическому контенту
                                      все. обратно. как будто пхп никогда не существовало
                                      Ответить
    • Говнокод ёёёё... От него и веб умрёт...
      Ответить
      • Ошибаетесь. Скорее уж веб будет жить именно благодаря говнокоду.
        Ответить
        • я думаю, вебу от говнокода ни холодно ни жарко
          Ответить
          • Согласен с учётом того, насколько распространено мнение "зачем напрягаться, оплата хостинга всё равно идёт из кармана заказчика, а сервер железный, ему не больно".
            Ответить
      • Блестящее, не терпящее возражений авторитетное мнение Самого Вебкилла ...дцатого, услышав которое Гутманс сотоварищи форматируют винты с черновиками новых книг по PHP, выбрасывают компьютеры в окно и уходят переписывать ядро Linux на брейнфаке, чтобы хоть как-то оправдать своё существование на нашей бренной планете и чтобы было чуть менее стыдно впредь слышать в свой адрес слово "программист".
        Ответить
    • На 6-й строке вылезет «нотис», т.к. переменная $title до этого не определена.

      die("До апреля двадцать… э… 2008 года, 26 апреля, НЕ БЫЛО НИ ЕДИНОГО РАЗРЫВА!");
      Ответить
      • Я так понимаю, строки 6-8 - это дрочка на register_globals, хотя автор этого и не понимает. Там ещё вот такой отжиг есть:
        <?
        $itog_usr = 'ваш логин';
        $itog_pass = 'ваш пароль';
        $_GET[$usr];
        $_GET[$pass];
        if (($usr != '') and ($pass != '')):
        {
        if (($usr != $itog_usr) or ($pass != $itog_pass)):
        После этого автор начинает рассказывать, что строки 4 и 5 - это извлечение переменных из $_GET, что как бы говорит нам о степени его понимания собственной писанины.
        Ответить
      • >>На 6-й строке вылезет «нотис», т.к. переменная $title до этого не определена.
        в хорошем PHP проекте нотисы и варнинги отключены, потому примерно каждая третья строчка дает нотис, а каждая пятая -- варнинг
        Ответить
        • http://demotivation.ru/images/20091012/cqto5ws6ejxu.jpg
          Ответить
          • Поверьте, я много писал на PHP.
            там принято именно так
            Ответить
            • Хорошо, что признался ) Я не буду говорить за всех и как у кого принято. Скажу только за себя.
              В symfony существует несколько режимов запуска приложения, в т.ч. dev-mode в котором выводятся
              все ошибки (E_ALL | E_STRICT). Если в этом режиме есть ошибки, то код в продакшен не идет.
              По-умолчанию в конфиге также включен вывод всех ошибок.
              Ответить
              • >>то код в продакшен не идет.
                В Вашей организации?:)
                респект)

                не знаю, может быть в мире PHP что-то и изменилось (я ушел оттуда в 2006м), но опенсурсовые продукты на пхп это слезы
                Ответить
                • За столько лет много воды утекло. )
                  Ответить
                • > но опенсурсовые продукты на пхп это слезы
                  Не скажите, как раз среди опенсорсовых качественные вещи попадаются куда чаще. Вот коммерческие - как правило, действительно мрак.
                  И удваиваю HyperGeek'а, E_ALL | E_STRICT на этапе разработки - must have, несогласные идут писать как им нравится, только пусть через N-ное время не плачутся, что у них всё работает через жопу - их предупреждали, что это уже сто раз было.
                  Ответить
                  • и лог ошибок писать в файл.
                    Ответить
                    • Профессианалы выводят их в браузер, чтобы нагляднее.
                      Ответить
                      • На говнокоде, кстати, сообщения об ошибках тоже в браузер сыпятся некоторые. Но в любом случае Striker молодец. :) Не каждый отважется сделать такой сайт.
                        Ответить

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