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

    +43

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    if(!empty($_POST['word'])) {
    	$sql = "SELECT `sysname` FROM `__" . $this->tables[0] . "` WHERE `title`='".$_POST['word']."'";
    	$model = $conn->fetchAll($sql);
    	if(!sizeof($model)) {
    		header("Location: " . $_SERVER['HTTP_REFERER']);
    		exit;
    	}
    	header("Location: /catalog/brands/" . $model[0]['sysname'] . ".html");
    	exit;
    }

    Маленький кусок проекта на Symfony 2.

    UnnamedUser, 14 Ноября 2012

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

    +54

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $postitle = str_replace (' ', '-', $title);
    				$postitle = str_replace ('/', '', $postitle);
    				$postitle = str_replace ('\\', '', $postitle);
    				$postitle = str_replace (':', '', $postitle);
    				$postitle = str_replace ('<', '', $postitle);
    				$postitle = str_replace ('>', '', $postitle);
    				$postitle = str_replace ('*', '', $postitle);
    				$postitle = str_replace ('?', '', $postitle);
    				$postitle = str_replace ('|', '', $postitle);
    				$postitle = str_replace ('"', '', $postitle);
    				$postitle = preg_replace ('#\[.*?\]#isu', '', $postitle);

    aleksey, 14 Ноября 2012

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

    +44

    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
    function db_connect($serverMySql, $db_log, $db_pass) //create connection
    {
        $r = mysql_connect($serverMySql, $db_log, $db_pass);
        return $r;
    }
    //....
    // страницы
    if (empty($_GET["p"])) {
        $_GET["p"] = "1";
    }
    $p = $_GET["p"];
    
    // защита от ввода  
    if (preg_match("/[%a-z_@.,^=:;Р°-СЏ\"*()&$#в„–+\-!?<>\~`|[{}\]]/i", $p)) {
        die(header("Location:sluch_list.php"));
    }

    http://hashcode.ru/questions/163555/php-%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4-%D1%84%D1%80%D0%B0%D0%B7-%D0%BF%D0%BE-%D1%80%D0%B5%D0%B9%D1%82%D0%B8%D0%BD%D0% B3%D1%83

    nolka4, 14 Ноября 2012

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

    +45

    1. 1
    2. 2
    if (!isset($_POST['searchText'])) $_POST['searchText'] = $_GET['searchText'];
    if (!isset($_POST['by'])) $_POST['by'] = $_GET['by'];

    Connor, 13 Ноября 2012

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

    +65

    1. 1
    $query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$customer_group_id . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");

    Opencart, catalog/model/catalog/product.php

    Они что издеваются? А я-то думаю что у меня ложит mysql сервер на колени...

    fooser, 12 Ноября 2012

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

    +49

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if($model->validate(array('code')))
    {
    	$model->addError('code', 'Введен неверный код купона. Купон с таким кодом уже существует.');
    }
    else
    {
    	if($model->save())
    	{
    		$this->redirect(array('view','id'=>$model->id));
    	}
    }

    sleeper, 12 Ноября 2012

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

    +51

    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
    <?php
    
    $person = new stdClass();
    
    $person->create = function (array $data) use (& $person) {
        foreach ($data as $property => $value) {
            if (empty($person->{$property})) {
                $person->{$property} = $value;
            }
        };
    };
    
    $person->info = function () use (& $person) {
        echo "My name is $person->name and I'm an $person->age years old";
    };
    
    
    $person->create->__invoke(array(
        'name' => 'John', 
        'age' => 42,
    ));
    
    $person->info->__invoke();
    
    ?>

    __proto__, 11 Ноября 2012

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

    +54

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $res = mysql_query("SELECT * FROM `users`");
    while ($arr = mysql_fetch_assoc($res))
    {
    	$res1 = mysql_query("SELECT * FROM `cabinet_users` WHERE `nick`='$arr[user]'");
    	$arr1 = mysql_fetch_assoc($res1);
            ...
    }

    JOIN'ы для слабаков.

    UnnamedUser, 10 Ноября 2012

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

    +55

    1. 1
    2. 2
    3. 3
    4. 4
    if (trim((string) $_GET['tag'])) {
        $current = $conn->fetchAll("SELECT LOWER('" . (string) $_GET['tag'] . "') as `tag`");
        $current = $current[0]['tag'];
    }

    UnnamedUser, 09 Ноября 2012

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

    +45

    1. 1
    2. 2
    3. 3
    $parts = preg_replace('~[^0-9a-z-/]~', '',  parse_url( $_SERVER['REQUEST_URI'] , PHP_URL_PATH ) );
    $parts = explode('/', $parts );
    $parts = array_values( array_filter( $parts, function( $var ){ return !empty( $var ); } ) );

    функциональность пхп развращает
    вместо array_filter с callback-ом можно было обработать строку trim($parts, '/');
    если уж array_filter, то в данном случае прокатит и array_filter( $parts, 'strlen' );
    это хотя бы не потребует обновления до версии 5.3

    shitcoder, 09 Ноября 2012

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