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

    +50

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public function getEgreementsInfo($client_id) {
    		$list = array();
    
    		$query = $this->db->query("
    			SELECT * FROM `".DB_PREFIX."import_11` WHERE `client_id` = '".$this->db->escape($client_id)."'
    		");
    		return $this->customer->getAgreements();
    
    		return $query->rows;
    }

    Бывают ситуации, когда ошибка вылазит на продакшене, и исправить нужно за несколько минут. В результате возникают перлы

    zima, 31 Января 2013

    Комментарии (4)
  2. PHP / Говнокод #12518

    +98

    1. 1
    2. 2
    3. 3
    <?php
    echo (int) ((0.1 + 0.7) * 10);
    ?>

    Похопе меня пугает

    http://ideone.com/gVnkep

    Vasiliy, 31 Января 2013

    Комментарии (4)
  3. PHP / Говнокод #12515

    +140

    1. 1
    2. 2
    $echo=SELECT * FROM users WHERE id='name'
    echo "Ваше имя $echo";

    не могу вывести поле name в таблице users чтобы на страничке поставить его имя которое он ввел при регистраций

    Mad-Admin, 31 Января 2013

    Комментарии (3)
  4. PHP / Говнокод #12509

    +51

    1. 1
    http://forum.php.su/topic.php?forum=71&topic=8913

    Бывает и такое...

    deep, 31 Января 2013

    Комментарии (6)
  5. PHP / Говнокод #12504

    +50

    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
    38. 38
    39. 39
    40. 40
    <?php
    
    //    ...
    
    if(!empty($_GET['hit']))
    {
    $tovar2 = mysql_query("select * from `product` where `hit`='1' ORDER BY `weight` DESC, `id` asc ");
    }else{
    if(!empty($_POST['cena']) && !empty($_POST['meh']) && !empty($_POST['razmer']))
    {
    $tovar2 = mysql_query("select * from `product` where `new`<'".$_POST['cena']."' and `kat`='".$_POST['meh']."' and `razmer` like '%".$_POST['razmer']."%' ORDER BY `weight` DESC, `id` asc limit  $start, $num;");
    }
    elseif(!empty($_POST['cena']) && !empty($_POST['meh']) && empty($_POST['razmer']))
    {
    $tovar2 = mysql_query("select * from `product` where `new`<'".$_POST['cena']."' and `kat`='".$_POST['meh']."' ORDER BY `weight` DESC, `id` asc limit  $start, $num;");
    }
    elseif(!empty($_POST['cena']) && empty($_POST['meh']) && !empty($_POST['razmer']))
    {
    $tovar2 = mysql_query("select * from `product` where `new`<'".$_POST['cena']."' and `razmer` like '%".$_POST['razmer']."%' ORDER BY `weight` DESC, `id` asc limit  $start, $num;");
    }
    elseif(empty($_POST['cena']) && !empty($_POST['meh']) && !empty($_POST['razmer']))
    {
    $tovar2 = mysql_query("select * from `product` where `kat`='".$_POST['meh']."' and `razmer` like '%".$_POST['razmer']."%' ORDER BY `weight` DESC, `id` asc limit  $start, $num;");
    }
    elseif(!empty($_POST['cena']) && empty($_POST['meh']) && empty($_POST['razmer']))
    {
    $tovar2 = mysql_query("select * from `product` where `new`<'".$_POST['cena']."' ORDER BY `weight` DESC, `id` asc limit  $start, $num;");
    }
    elseif(empty($_POST['cena']) && !empty($_POST['meh']) && empty($_POST['razmer']))
    {
    $tovar2 = mysql_query("select * from `product` where `kat`='".$_POST['meh']."' ORDER BY `weight` DESC, `id` asc limit  $start, $num;");
    }
    elseif(empty($_POST['cena']) && empty($_POST['meh']) && !empty($_POST['razmer']))
    {
    $tovar2 = mysql_query("select * from `product` where `razmer` like '%".$_POST['razmer']."%' ORDER BY `weight` DESC, `id` asc limit  $start, $num;");
    }
    
    //    ...
    
    ?>

    Make me unsee it!

    Sarkian, 30 Января 2013

    Комментарии (8)
  6. PHP / Говнокод #12502

    +46

    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
    if (substr($sql,0,6)=='INSERT')
      {
       $type = 'INSERT';
       if ($is_mysql)
        $O=mysql_insert_id($connection);
       if ($is_ibase)
        $O=false;
      }
      if (substr($sql,0,6)=='UPDATE')
      {
       $type = 'UPDATE';
       if ($is_mysql)
        $O = mysql_affected_rows($connection);
       if ($is_ibase)
        $O = ibase_affected_rows($connection);
      }
      if (substr($sql,0,7)=='REPLACE')
      {
       $type = 'REPLACE';
       if ($is_mysql)
        $O = mysql_affected_rows($connection);
       if ($is_ibase)
        $O = ibase_affected_rows($connection);
      }
      if (substr($sql,0,11)=='DELETE FROM')
      {
       $type = 'DELETE';
       if ($is_mysql)
        $O = mysql_affected_rows($connection);
       if ($is_ibase)
        $O = ibase_affected_rows($connection);
      }

    Как определить возвращаемый результат? Пропарсить строку запроса ($sql)!

    codename, 30 Января 2013

    Комментарии (12)
  7. PHP / Говнокод #12500

    +138

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function getPage($uri) {
            $id = trim(trim($uri, '/'));
            if (is_numeric($id)){
                $this->page->getPage($id);
            } else {
                $this->page->getPage('1');
            }
        }

    Вчера сидел в подпитии, писал сайт-визитку. Вот что обнаружил утром

    Walking_Fire, 29 Января 2013

    Комментарии (14)
  8. PHP / Говнокод #12496

    +49

    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
    /**
        * Used to show configurable product attributes in case when all elements are out-of-stock
        * 
        * "$_product->isSaleable() &&" should be commented out at line #100 (where "container2" block is outputted) in catalog/product/view.phtml
        * to make this work
        * 
        * @see Mage_Catalog_Model_Product::isSalable
        * @param object $observer
        */
        public function onCatalogProductIsSalableAfter($observer)
        {
            if (Mage::getStoreConfig('amstockstatus/general/outofstock'))
            {
                $salable = $observer->getSalable();
                $stack = debug_backtrace();
                foreach ($stack as $object)
                {
                    if (isset($object['file']))
                    {
                        if ($object['file'])
                        {
                            if ( isset($object['file']) && false !== strpos($object['file'], 'options' . DIRECTORY_SEPARATOR . 'configurable'))
                            {
                                $salable->setData('is_salable', true);
                            }
                        }
                    }
                }
            }
        }

    Вот такой вот веселый модуль для Magento, одна из возможностей которого - отобразить опции для всех out-of-stock вариантов конфигурируемого товара.

    vo1, 29 Января 2013

    Комментарии (0)
  9. PHP / Говнокод #12493

    +53

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    /**
    	 * Магический геттер
    	 * 
    	 * @param string $name
    	 * @return mixed 
    	 */
    	public function __get($name)
    	{
    		if ($name == $this->fileName)
    			return $this->fileName;
    	}

    Magic is here

    travka, 29 Января 2013

    Комментарии (15)
  10. PHP / Говнокод #12490

    +38

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    isset($params) && array_push(
                $urlPart,
                implode('/',
                    array_map(
                        function ($key, $value) {
                            return $key . '/' . $value;
                        },
                        array_keys($params),
                        array_values($params)
                    )
                )
            );

    __proto__, 29 Января 2013

    Комментарии (2)