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

    +154

    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
    <?php
     if (isset($_POST['update'])) {
    			 $kolcen=mysql_real_escape_string($_POST['kolcen']);
    			 $tovar=mysql_real_escape_string($_POST['tovar']);
    			 $descr=mysql_real_escape_string($_POST['descr']);
    			 $price=intval($_POST['price']);
    			 $price2=intval($_POST['price2']);
    			 $price3=intval($_POST['price3']);
    			 $id=intval($_POST['update']); 
    			 $zag1=mysql_real_escape_string($_POST['zag1']);
    			 $zag2=mysql_real_escape_string($_POST['zag2']);
    			 $zag3=mysql_real_escape_string($_POST['zag3']);
    			 
    			  switch($kolcen){ 
    		 case '3':$updatetovar = mysql_query ("UPDATE `tovar3` SET `tovar`='$tovar',`descr`='$descr',`price`='$price',`price2`='$price2',`price3`='$price3' WHERE `id`='$id' and `id`='$serv'");
    		 break; 
    		 case '2': $updatetovar = mysql_query ("UPDATE `tovar2` SET `tovar`='$tovar',`descr`='$descr',`price`='$price',`price2`='$price2' WHERE `id`='$id' and `id`='$serv'");
    		 break; 
    		 case '1':$updatetovar = mysql_query ("UPDATE `tovar` SET `tovar`='$tovar',`descr`='$descr',`price`='$price' WHERE `id`='$id' and `pizzaid`='$service'");
    		 break;
    		 case '2images': $updatetovar = mysql_query ("UPDATE `2images` SET `tovar`='$tovar',`descr`='$descr',`price`='$price',`price2`='$price2',`price3`='$price3',`img`='$img',`zag1`='$zag1',`zag2`='$zag2',`zag3`='$zag3' WHERE `id`='$id' and `id`='$serv'");
    		 break;
    		 }
    ?>

    Народ зацените мой код плиз на предмет говнокода, и если чето не так то дайте совет . Этот код для админки добавления товаров. Есть 4 типа категорий, товар с одной ценой, с двумя, с тремя, и товар с двумя картинками. В зависимости от типа категории делаем запрос к базе

    Запостил: frie, 21 Июня 2011

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

    • ОТЦЕНИТИ КОД!!!!!!!!!111111
      Ответить
    • tovar, tovar2, 2images, etc - изменить названия;
      По хорошему запросы можно было бы обернуть в какой-то минимальный ActiveRecord,
      например добавишь ты поле в таблицу, придется менять большинство запросов, а с ActiveRecord только в модельке поле добавить;
      Свитч-кейс перепроектировать, совсем невнятное говно получилось;

      $kolcen=mysql_real_escape_string($_POST['kolcen']);
      $tovar=mysql_real_escape_string($_POST['tovar']);
      $descr=mysql_real_escape_string($_POST['descr']);
      $price=intval($_POST['price']);
      $price2=intval($_POST['price2']);
      $price3=intval($_POST['price3']);
      $id=intval($_POST['update']);
      $zag1=mysql_real_escape_string($_POST['zag1']);
      $zag2=mysql_real_escape_string($_POST['zag2']);
      $zag3=mysql_real_escape_string($_POST['zag3']);

      это всё привести к чему-то общему, что принимает response, чистит его, и из него брать чистые значения..
      В целом - гавно всё
      Ответить
    • гавнокод хотя бы потому что построение таблицы гавно, `price` как и `zag` можно забивать в одно поле через разделитель или массивом, ну это на случай если ты не применяешь не какие фильтры аля order by "price3";
      И еще, транслит в коде программисты очень не любят, учи английский и обзывай нормально переменные ...
      Ну и также изучай фреймворк аля симфони или хотя бы ООП и пиши свои велосипеды ... Такое построение кода не орех, просто я уже представил что у тебя идет дальше ...
      Ответить
      • спасибо, а где почитать как нормально кодить или курсы антиговнокода, хотябы видео? а то у меня ни наставников ни примеров, самому догадаться не получается, а писать всё четенько уж больно хочется =)
        Ответить
        • Заголовки и цены обьединю в 2 поля
          Ответить
        • Не на тот сайт задал вопрос. Люди сюда заходят именно за говнокодом, а не просто любым кодом начинающего.

          Повтори вопрос "где почитать как нормально кодить или курсы антиговнокода" например в "вопросах и ответах" Гугла.
          Ответить
        • Если научишься кодить на php Symphony, ты уже будешь не плохо писать на пхп ... там есть строгий стандарт и он считается более менее правильным по отношению к коду.
          Я лично самоучка, наставников у меня тоже не было, если работать будешь в опытном коллективе, всему научишься, иди куда нибудь на не большую ставку ради опыта ...
          Ответить
        • nobody прав, учи MVC, начнёшь лучше разбираться как писать код. Можешь глянуть что такое PDO. http://en.wikipedia.org/wiki/Comparison_of_Web_application_frameworks найди что-нить для себя из frameworks... Стандарт это Zend и Symphony. Я люблю CakePHP в php так как он лёгкий, и это порт некоторой фунциональности Rails'a на PHP. I <3 Rails
          Ответить
        • Возьмись хотябы за готовые фреймоврки, онт приучат к более менее правильному кодированию, или готовый неговно!проект разобрать, посмотреть
          Ответить
    • код понятен только автору.
      задача "добавить еще одну цену" или "добавить еще одну картинку" превращается в ад.
      читать книжки по best practices
      Ответить
    • Если цен больше одной, то имеет смысл вынести их в отдельную таблицу и хранить как несколько строчек. То же и с другими параметрами.
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить

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