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

    +150

    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
    36. 36
    37. 37
    <?session_start();
    
    require_once "../Source/connect.php";
    
    require_once "../Models/Comment(class).php"?>
    
    <link rel="stylesheet" href="../Source/style.css" type="text/css" />
    
    <a href="../Forms/Register_form.php">Регистрация</a> <br/><br/>
    
    <form name="login" action="../Controller/Controller.php" method="post">
    
    <input name="login" type="text" value=""> Логин <br/>
    
    <input name="password" type="password" value=""> Пароль <br/>
    
    Введите данные:<br/><br/>
    
    <input name="do" type="submit" value="Войти">
    
    <?session_destroy();?>
    
    </form>
    
    
    
    <?
    
    $comment = new Comm();
    
    	
    
    	$comment->Menu();
    
    	$comment->Coments();
    
    ?>

    Хочется назвать сие творение: "Очень быстрая сессия".
    Это весь код главной страницы простенького сайта-блога. Автор даже не подозревает о существовании тегов <html>, <head> и <body>. Вначале можно было подумать, что он засунул их в один из подключаемых файлов, а нет. Просто не нужны они ему и все.

    Запостил: SunnyMagadan, 25 Августа 2010

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

    • чего я не понимаю, так это зачем тут вообще начинать и тут же вырубать сессию? не похоже, что она где-то вообще используется. и уж конечно вот так безусловно делать сессии destroy вообще жестко

      ну и чехарда с именами (Comm,$comment,Coments) прибавляет запашку

      хотел было порадоваться "правильным" тегам link и br, но все же автор спалился на тегах input ((

      а что бы вообще это не работало, достаточно установить short_open_tag=Off ))))))

      вывод: автор слышит звон, но не знает, где он.....
      Ответить
    • Для MVC-fanboys присутствуют директории /Model/ и /Controller/

      > не подозревает о существовании тегов <html>, <head> и <body>
      ВНЕЗАПНО, они не нужны
      Ответить
      • присутствуют. Но как-то для отмазки, на сакральный вопрос "где здесь MVC?". И компонента Source нет среди ни Модели, ни Вида, ни Контроллера. Просто сорц ))))

        > ВНЕЗАПНО, они не нужны
        ВДРУГ, они нужны. Хотя бы для <link rel="stylesheet" href="../Source/style.css" type="text/css" />
        Лично споткнулся об это, когда хотел добавить стайлщит в середине контента (модуль мог рисовать только в своем личном div'е) - и он был проигнорирован, покуда не придумал, как добавить его в заголовочную секцию.
        Впрочем, мне никогда не приходило в голову игнорировать эти теги ВООБЩЕ О_О
        Ответить
        • Не надо испытывать терпение браузеров. Чем Вы ближе к стандрту, тем меньше шансов что после очередного обновления сафари на маке Ваш сайт перестанет в нем отображаться
          Ответить
        • так и знал, что ты набижишь и оспоришь, хотя спеки вон они :-Р
          спорь с W3C:
          http://validator.w3.org/check?uri=http%3A%2F%2Fwww.w3.org%2FStyle%2FExamples%2F007%2Fcenter-example.html&charset=%28detect+automatically%29&doctype=Inline&group=0

          зараза, вставляет пробелы
          Ответить
          • уже двое не читавших спеков :-)
            Ответить
            • Как уже было сказано выше -- если речь идет об html 4 (там не нужен таг html) то нельзя закрывать таг link.

              Читайте спеки внимательнее))
              Ответить
              • Подловил, DTD надо в студию :-)

                Хотя этот ваш XHTML 1.1 морально устарел поскольку HTML 5 пребудет в состоянии working draft еще много лет и только потом, может быть, мы увидим рекомендацию XHTML на его базе. А HTML, HEAD и BODY -пережитки времён HTML 3.2
                Ответить
                • Я пишу в XHTML 1.0 Transitional, в 1.1 (да еще и в strict) есть много вещей, которые ни один браузер не поддерживает.
                  Ответить
          • Но это в HTML 4.01.
            Там нельзя закрывать таг LINK одиночно. А у автора он закрыт. Так что его код не валиден.
            Ответить
          • Спеки, спеки... Вот только ваш W3C валидатор будет очень сильно ругаться, если в том документе ссылку на который вы привели, вот такой вот
            <!doctype html public '-//W3C//DTD HTML 4.01//EN'
            'http://www.w3.org/TR/html4/strict.dtd'>
            убрать.
            Т.к. автор кода никакого doctype не писал, а я сомневаюсь что он даже про него слышал, то весь его html код ниразу не валидный, как бы там не хотелось.
            Ответить
            • Ага, doctype напротив, уже много лет обязательно должен присутствовать
              Ответить
              • без доктайпа брузеры работают в "quirks mode", и никакие стандарты там вообще ничего не гарантируют.

                Ваш К.О.
                Ответить
          • и вообще, я "набижишь" понимаю так: набежал и обидел )))
            Ответить
        • Автору этого кода они точно не нужны. Не будем нарушать его хрупкий мир. Пусть дальше наивно думает, что у него все и так круто работает.
          Лично мне в голову тоже не приходило писать html без <html>, <head>, <body>. Стандарты не просто так придумали.
          Ответить
          • In practice, the HTML, HEAD and BODY start and end tags can be omitted from the markup as these can be inferred in all cases by parsers conforming to the HTML 3.2 DTD.

            Даже не 3.2 пережиток Ж)
            Ответить
      • кстати, поздравляю с персональным юзерпиком )))
        Ответить
        • та, по тех. причинам пришлось перелогиниться
          Ответить
      • 1) в мире MVC не может быть в одном файле строка "</form>" и "session_destroy". Так что fail.

        2) ВНЕЗАПНО вообще ничего не надо: ни объекты, ни функции, ни структурный подход, ни принцип DRY.
        Можно писать по ковбойски, и будет работать.
        Ответить
        • > Можно писать по ковбойски, и будет работать.
          работа не гарантируется, везде и всегда.
          Ответить
        • зато автор успешно придерживается принципа KISS
          Ответить

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