1. Лучший говнокод

    В номинации:
    За время:
  2. JavaScript / Говнокод #6246

    +163

    1. 1
    <a href="javascript:void(0)" onclick="$('#faq_1').slideToggle('slow');">

    Код ссылки, раскрывающей динамический список, расположенной на одном банковском сайте. Люди знают jQuery.

    alter, 06 Апреля 2011

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

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if(!$timeless) {
        if($event['_hup'] > $event['_hdn']) 
            echo $time_start; 
        else
            echo $time_start.' - '.$time_end;
    } else { 
        if($event['_hup'] > $event['_hdn']) 
            echo $time_start; 
        else 
            echo $time_start;
    }

    Я не пишу запутанный код.

    SunnyMagadan, 01 Апреля 2011

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

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    $style = (++$i==$num_rows)? "" : "style='background: url($GLOBALS[ico_path]/forum_b3.gif) repeat-y;'";
                   $lvl_str = "<td width=12 valign=top $style><img src=$GLOBALS[ico_path]/forum_b2.gif></td>";
                   $is_child = query41("SELECT id FROM flds2cats WHERE pid=$row[id] LIMIT 1", 1);
                   $menu = new xml_menu($xml_menu_id."_".++$num,
                           "<font class=flds2cats_flds_in_gr>$row[sort]) $row[name] ($row[id])</font>",
                           ($value_menu_lvl=='move_field'&&$is_child<1)?'':$xml_file,
                           "&value_menu_lvl=".(($is_child>0)?$value_menu_lvl:'fld_menu').
                           "&flds2cats_pid=$row[id]&flds2cats_grs2cats_id=$grs2cats_id&flds2cats_flds2cats_id=$row[id]".
                           "&flds2cats_cat_id=$flds2cats_cat_id".
                           ($flds2cats_flds2cats_move_id?"&flds2cats_flds2cats_move_id=$flds2cats_flds2cats_move_id":"").
                           ($GLOBALS['flds2cats_move_only_one'] || $flds2cats_flds2cats_move_id==$row[id]?"&flds2cats_move_only_one=1":""),
                           $lvl_str);

    ReallyBugMeNot, 01 Апреля 2011

    Комментарии (4)
  5. C++ / Говнокод #6032

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    const QColor * c = & QColor.red;
    const QColor * c = & QColor.rgb(12,12,12);
    const QColor * c = & int QColor::red () const;
    const int * c = & int QColor::red () const;

    Взято отсюда: http://www.prog.org.ru/topic_16855_0.html
    Особенно радует фраза: "Пробовал так <....> И другими способами, на которые вылетало множество ошибок".

    TarTar, 19 Марта 2011

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

    +163

    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
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    function price_filter_form()
    {
        // Хуярим неиибически сложную систему фильтрации по цене:
        $sql = "
    SELECT
    Max(c_good.price) AS `max`,
    Min(c_good.price) AS `min`,
    Count(c_good.price) AS `count`
    FROM
    c_good
    WHERE
    c_good.podcat_id =  '".mysql_real_escape_string($_GET['id'])."' AND
    c_good.onoff =  '1' AND c_good.`check` = '1'";
        $sql = mysql_query($sql) OR DIE (log_error('sql'));
        $price = mysql_fetch_assoc($sql);
        #echo ("<pre>");
        #print_r($price);
        #echo ("</pre>");
        if ($price['count'] < '10') // если товаров меньше 10, выводим 1 диапазон цен
        {
         $price_form = "<option value=\"".$price['min'].":".$price['max']."\">".$price['min']."-".$price['max']."руб.</option>";    
        }
        else
        {
            // Далее идёт непонятный говнокод, который к удивлению работает
            $step = (($price['max']-$price['min'])/11);
            $step = ceil($step);
            $step_len = strlen($step);
            $step = round($step, -($step_len-1));
            $first_step = ($price['min']+$step);
            $first_step_len = strlen($first_step);
            $first_step = (round($first_step, -($first_step_len-2))-1);
            #if ($first_step < $price['min']) $first_step = $price['min']+$step;
            $price_form = "<option value=\"".$price['min'].":".$first_step."\">".$price['min']."-".$first_step."руб.</option>";
            $price_form .= "<option value=\"".($first_step+1).":".($first_step+$step)."\">".($first_step+1)."-".($first_step+$step)."руб.</option>";
            
            #echo $step;
            for ($i=1;$i<8;$i++)
            {
             $price_form .= "<option value=\"".($first_step+($step*$i)+1).":".($first_step+($step*($i+1)))."\">
             ".($first_step+($step*$i)+1)."-".($first_step+($step*($i+1)))."руб.</option>";    
            }
            $price_form .= "<option value=\"".($first_step+($step*8)+1).":".$price['max']."\">
            ".($first_step+($step*8)+1)."-".$price['max']."руб.</option>";
        }
        $price_form = str_replace("\"".$defult_price['1']."\"", "\"".$defult_price['1']."\" selected", $price_form);
        return $price_form;
    }
    ?>

    вот с таким ГК пришлось столкнуться, после профилирования. Как Вам? Или - это нормально для PHP???
    P.S. комментарии сохранены авторские.

    ZeiZ, 16 Марта 2011

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

    +163

    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
    <?php
    set_time_limit(0);
    $d    = 0;
    $t    = 0;
    $link = mysql_connect('localhost', 'root', '123456'); // or die(mysql_error());
    //mysql_query('SET NAMES `cp1251`') or die(mysql_error());
    $dbr = mysql_query('SHOW DATABASES') or die(mysql_error());
    while ($dbd = mysql_fetch_assoc($dbr)) {
        if ($dbd['Database'] != 'information_schema') {
            mysql_select_db($dbd['Database'], $link); // or die(mysql_error());
            $tr  = mysql_query('SHOW  TABLES'); // or die(mysql_error());
            $sql = '';
            while ($td = mysql_fetch_assoc($tr)) {
                $sql .= '`' . $td['Tables_in_' . $dbd['Database']] . '`, ';
                ++$t;
            }
            $sql = substr($sql, 0, -2);
            mysql_query('REPAIR TABLE  ' . $sql . ''); // or die(mysql_error());
            ++$d;
        }
    }
    echo 'Востановил: ' . $d . ' баз(ы) данных, общие кол-во таблиц: ' . $t;
    mysql_close($link);

    Делает "REPAIR" всех баз данных.

    Unknown, 14 Марта 2011

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

    +163

    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
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    $tmp = mysql_query("SELECT DISTINCT (author),(poluchatel) FROM  messages WHERE author='$login' OR poluchatel='$login' ORDER BY  poluchatel,author ",$db); 
                $messages =  mysql_fetch_array($tmp);//извлекаем автора
     if (!empty($messages['author'])) 
    {
    $mass[]='';     // сюда хуячим все имена контактов, всё шо есть в базе
    $security;      // ключ 0,1
    $i=0;          //счетчик
    $white='ffffff';
    $blue='e3ebf8';
    $c=0;
    do //выводим всех авторов
    {
    	$security=1;   //первоначально положительно("1") в каждом цикле на каждый контакт
    if($messages['author']==$login) //если поле автор = тому чья стр
    {
    	$author = $messages['poluchatel'];  //то в пер автор сохраняем имя получателя
    	$mass[$i]=$author;  //кидаем копию имя в массив
    	$i++;	//счетчик ++
    }
    
    else{	//если поле автор не тот  чья стр
    	$author = $messages['author']; //то в пер летит имя отправителя из базы
    	$mass[$i]=$author;	//ебошим всё в массив
    	 $i++;
    		}
    
    for($j=0; $j<=$i; $j++)	//перебераем массив
    {
    
    if($mass[$j]==$messages['poluchatel']) //если в массиве уже есть такой автор
    {$security=0; break;}	//то присваеваем ключ "0"
    }
            if($security==1)	//усли ключ = 1, то выводим контакт
    {
    $result4 = mysql_query("SELECT avatar,id FROM users WHERE login='$author'",$db); //извлекаем аватар автора 
    $myrow4 = mysql_fetch_array($result4);
    if (!empty($myrow4['avatar']))  {//если такового нет, то выводим стандартный (может    этого пользователя уже давно удалили)
    $avatar = $myrow4['avatar'];
    }
    else {$avatar = "avatars/net-avatara.jpg";}
    
    $auth = $messages['author'];  //запоминаем имя этого автора
    $count = mysql_query("SELECT * FROM  messages WHERE author='$auth' AND poluchatel='$login' AND stat='0' " ); //выбираем строки с непрочит соо
    $new_msg=mysql_num_rows($count); //считаем строки
     
    //выставляем цвет фона смс
    //////
    if($c%2==0)
    {
            $color=$blue;
    }
    else
    {
            $color=$white;
    }
    //считаем сообщений от контакта
    $result5=mysql_query("SELECT * FROM messages WHERE  author='$author' AND poluchatel='$login' "); 
    $result6=mysql_query("SELECT * FROM messages WHERE  author='$login' AND poluchatel='$author' ");
    $msg_count1=mysql_num_rows($result5);
    $msg_count2=mysql_num_rows($result6);
    $msg_count=$msg_count1+$msg_count2;
    if($new_msg>0)
    {
             printf("
       <table width='450' bgcolor='f4cf90' >
    <tr>
    <td style='border-bottom:1px solid black'> 
       <a href='page.php?id=%s'><img alt='аватар' width='20px' height='30px' src='%s'></a>
             <a href='my_messages_view.php?author=%s'><font color='0c50a5' style='font-size:17px;font-weight:bold;'>%s</font></a> 
        <font color=red style='font-size:17px;font-weight:bold'>(+%s)</font>
    </td>
     </tr>
    </table>
        ",$myrow4['id'],$avatar,$author,$author,$new_msg);
    }
    else
    {
             printf("
    <table width='450'  bgcolor='".$color."' >
    <tr>
    <td style='border-bottom:1px solid black'> 
      <a href='page.php?id=%s'><img alt='аватар' width='20px' height='30px' src='%s'></a>
      
      <a href='my_messages_view.php?author=%s'><font style='font-size:17px; font-weight:bold;' color='0c50a5'>%s</a></font>
      <font color='6b6b6b' style='font-size:17px; text-align: right; font-weight:bold;'>(%s)</font>
    </td>
     </tr>
    </table>
         ",$myrow4['id'],$avatar,$author,$author,$msg_count);
    	}
      }
      $c++;
      }
         while($messages = mysql_fetch_array($tmp));
            }

    qbasic, 11 Марта 2011

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

    +163

    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
    <title>
    <?php
    $t=$_SERVER['REQUEST_URI'];
    		        switch($t)
                    {
                    case '/':   echo "Канцтовары, бумага";
                      break;
                                           case '/shopping/':   echo "Каталог товаров: канцтовары, бумага, кресла, стулья, картриджи, хозтовары, офисная мебель";
                      break;
                                           case '/collection/':   echo "Коллекция рисунков: канцтовары, бумага, кресла, стулья, картриджи, хозтовары, офисная мебель";
                      break;
    
                                           case '/shopping/?id=1':   echo "Бухгалтерские бланки и книги";
                      break;
                                           case '/collection/?id=1':   echo "Коллекция бухгалтерских бланков и книг";
                      break;
                                           case '/shopping/?id=9':   echo "Каталог канцелярских товаров";
                      break;
            default: echo " Канцтовары, бумага, кресла и стулья, картриджи";
    
    }
    
    
    ?></title>

    Правлю самописку 0_о
    Формирование тайтла :)

    tranquillity, 03 Марта 2011

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    $str="'".trim(iconv("cp866","UTF-8",$row['P_NOMER']))."','".trim(iconv("cp866","UTF-8",$row['P_DATA']))."','".trim(iconv("cp866","UTF-8",$row['V_NOMER']))."','".trim(iconv("cp866","UTF-8",$row['V_DATA']))."','".trim(iconv("cp866","UTF-8",$row['PL_NOMER']))."','".trim(iconv("cp866","UTF-8",$row['PL_DATA']))."',".$row['PL_SUMMA'].",'".trim(iconv("cp866","UTF-8",$row['SODER']))."','".trim(iconv("cp866","UTF-8",$row['NA_SOGL']))."','".trim(iconv("cp866","UTF-8",$row['N_RAY']))."','".trim(iconv("cp866","UTF-8",$row['KOD_PRED']))."','".trim(iconv("cp866","UTF-8",$row['NAME_1']))."','".trim(iconv("cp866","UTF-8",$row['TIP_TY']))."','".trim(iconv("cp866","UTF-8",$row['KOD_TY']))."','".trim(iconv("cp866","UTF-8",$row['REG_PRIM']))."',".$row['P_NAG_1'].",'".trim(iconv("cp866","UTF-8",$row['DATA_REG']))."','".trim(iconv("cp866","UTF-8",$row['NOMER_REG']))."','".trim(iconv("cp866","UTF-8",$row['NOMER_TY']))."','".trim(iconv("cp866","UTF-8",$row['GOD_TY']))."',".$row['G_M'].",'".trim(iconv("cp866","UTF-8",$row['INN']))."',".$row['KOD_SPRIP1'].",".$row['KOD_SPRIP2'].",".$row['KOD_SPRIP3'].",'".trim(iconv("cp866","UTF-8",$row['PL_NOMER2']))."','".trim(iconv("cp866","UTF-8",$row['PL_DATA2']))."',".$row['PL_SUMMA2'].",'".trim(iconv("cp866","UTF-8",$row['PL_NOMER3']))."','".trim(iconv("cp866","UTF-8",$row['PL_DATA3']))."',".$row['PL_SUMMA3'].",'".trim(iconv("cp866","UTF-8",$row['USER_PF']))."','".trim(iconv("cp866","UTF-8",$row['N_TIP']))."','".trim(iconv("cp866","UTF-8",$row['N_USEL']))."','".trim(iconv("cp866","UTF-8",$row['EDIN_TY']))."','".trim(iconv("cp866","UTF-8",$row['IST_EL']))."','".trim(iconv("cp866","UTF-8",$row['NAME_2']))."',"; 
    ...
    ...
    $sql="INSERT INTO table (p_nomer,p_data,v_nomer,v_data,pl_nomer,pl_data,pl_summa,soder,na_sogl,n_ray,kod_pred,name_1,tip_ty,kod_ty,reg_prim,p_nag_1,data_reg,nomer_reg,nomer_ty,god_ty,g_m,inn,kod_sprip1,kod_sprip2,kod_sprip3,pl_nomer2,pl_data2,pl_summa2,pl_nomer3,pl_data3,pl_summa3,user_pf,n_tip,n_usel,edin_ty,ist_el,name_2,) VALUES ('".trim(iconv("cp866","UTF-8",$row['P_NOMER']))."','".trim(iconv("cp866","UTF-8",$row['P_DATA']))."','".trim(iconv("cp866","UTF-8",$row['V_NOMER']))."','".trim(iconv("cp866","UTF-8",$row['V_DATA']))."','".trim(iconv("cp866","UTF-8",$row['PL_NOMER']))."','".trim(iconv("cp866","UTF-8",$row['PL_DATA']))."',".$row['PL_SUMMA'].",'".trim(iconv("cp866","UTF-8",$row['SODER']))."','".trim(iconv("cp866","UTF-8",$row['NA_SOGL']))."','".trim(iconv("cp866","UTF-8",$row['N_RAY']))."','".trim(iconv("cp866","UTF-8",$row['KOD_PRED']))."','".trim(iconv("cp866","UTF-8",$row['NAME_1']))."','".trim(iconv("cp866","UTF-8",$row['TIP_TY']))."','".trim(iconv("cp866","UTF-8",$row['KOD_TY']))."','".trim(iconv("cp866","UTF-8",$row['REG_PRIM']))."',".$row['P_NAG_1'].",'".trim(iconv("cp866","UTF-8",$row['DATA_REG']))."','".trim(iconv("cp866","UTF-8",$row['NOMER_REG']))."','".trim(iconv("cp866","UTF-8",$row['NOMER_TY']))."','".trim(iconv("cp866","UTF-8",$row['GOD_TY']))."',".$row['G_M'].",'".trim(iconv("cp866","UTF-8",$row['INN']))."',".$row['KOD_SPRIP1'].",".$row['KOD_SPRIP2'].",".$row['KOD_SPRIP3'].",'".trim(iconv("cp866","UTF-8",$row['PL_NOMER2']))."','".trim(iconv("cp866","UTF-8",$row['PL_DATA2']))."',".$row['PL_SUMMA2'].",'".trim(iconv("cp866","UTF-8",$row['PL_NOMER3']))."','".trim(iconv("cp866","UTF-8",$row['PL_DATA3']))."',".$row['PL_SUMMA3'].",'".trim(iconv("cp866","UTF-8",$row['USER_PF']))."','".trim(iconv("cp866","UTF-8",$row['N_TIP']))."','".trim(iconv("cp866","UTF-8",$row['N_USEL']))."','".trim(iconv("cp866","UTF-8",$row['EDIN_TY']))."','".trim(iconv("cp866","UTF-8",$row['IST_EL']))."','".trim(iconv("cp866","UTF-8",$row['NAME_2']))."',)"; //запрос

    это часть кода для импорта данных из dbf

    crs, 03 Марта 2011

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ($type=='input') $params['class'] = 'styleInput';
    if ($type=='password') $params['class'] = 'stylePassword';
    if ($type=='checkbox') $params['class'] = 'styleCheckBox';
    if ($type=='select') $params['class'] = 'styleSelect';
    if ($type=='multipleSelect') $params['class'] = 'styleMultipleSelect';
    if ($type=='textarea') $params['class'] = 'styleTextarea';
    if ($type=='groupSelect') $params['class'] = 'styleGroupSelect';

    Конкатенация - враг! Учитесь трудолюбию!

    ifeya, 02 Марта 2011

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