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

    В номинации:
    За время:
  2. Куча / Говнокод #10207

    +123

    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
    <table border="0" id="table" width="800" align="center">
    <tr><td colspan="5" align="center">Ваш заказ:</td></tr>
    
    <? $query=mysql_query("Select * from `$name`");
    for ($c=0; $c<mysql_num_rows($query);$c++){
    ?><?
    $result=mysql_fetch_array($query);
    $a=$result['menu_id'];
    $query1=mysql_query("SELECT * FROM menu WHERE id=$a");
    $result1=mysql_fetch_array($query1);
    ?>
    
    <tr><td width="50"><? echo $c+'1'; ?></td><td width="50" align="center"><img src="img/tira.png" style="height:20px; width:20px;"/></td><td><? echo $result1['name'];?></td><td><a href="#">-</a><input type="text" min="1" value="<? echo $result['count'];?>" max="40" size="2" /><a href="#" onclick="up()">+</a></td><td>удалить</td></tr>
    <script language="javascript" type="application/javascript">
    var a=parseInt("<? echo $result['count'];?>");
    function up(){
    var b = a + 1;
    document.write(b);
    }
    </script>
    <?
    }
    ?>

    "Создаю корзину покупателя! Формирую таблицу выбранных пользователем товаров и его кол-во в цикле! добавил функцию на OnClick с выводом значение в ячейке! при нажатии выводит только значение последнего товара из цикла." Слов нет.

    zloirock, 06 Мая 2012

    Комментарии (5)
  3. Objective C / Говнокод #10200

    −153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    - (void)dealloc {
        LandscapeNote *tempCell;
        for (NSInteger i = 0; i < [_scrollView.subviews count]; i++) {
            tempCell = [_scrollView.subviews objectAtIndex:i];
            [tempCell removeFromSuperview];
        }
        [notesArray release];
        [self viewDidUnload];
        [super dealloc];
    }

    смотрим название метода...

    kilovata, 05 Мая 2012

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

    +90

    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
    if(!empty($_POST))
    {
    	include("dbconnect.php");
    
    	$shown_name=$_POST['shown_name'];
    	$username=$_POST['username'];
    	$header=$_POST['header'];
    	$text=$_POST['text'];
    
    	$date_array=getdate(time());
    
    	$date=$date_array['hours'].":".$date_array['minutes'].":".$date_array['seconds']." ".$date_array['weekday']." ".$date_array['mday']." ".$date_array['month']." ".$date_array['year'];
    
    
    	$filename=$date_array['hours']."-".$date_array['minutes']."-".$date_array['seconds']."-".$date_array['mday'].$date_array['month']."-".$date_array['year']."-".$username.".php";
    
    	$path="posts/".$filename;
    
    	$addpost="INSERT INTO posts(author, header, text, date, path) VALUES ('$shown_name', '$header', '$text', '$date', '$path')";
    	$add=$db->prepare($addpost);
    	$add->execute();
    
    
    
    
    	$file=fopen($path, 'w');
    	$content="<?php \$shown_name=\"".$shown_name."\"; \$header=\"".$header."\"; \$text=\"".$text."\";  include(\"template.html\"); ?>";
    
    	$write=fwrite($file, $content);
    
    	fclose($file);
    
    
    	header('Location: index.php');
    	$db=null;
    }

    Добавление поста в блог. Радует каждая строчка.

    nucleartux, 02 Мая 2012

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

    +93

    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
    class Auth_Yadis_ParanoidHTTPFetcher extends Auth_Yadis_HTTPFetcher {
        function get($url, $extra_headers = null)
        {
        /* неcущественное пропущено */
                if (defined('CURLOPT_NOSIGNAL')) {
                    curl_setopt($c, CURLOPT_NOSIGNAL, true);
                }
    
                if (!$this->allowedURL($url)) {
                    Auth_OpenID::log("Fetching URL not allowed: %s",
                                     $url);
                    return null;
                }
    
                curl_setopt($c, CURLOPT_WRITEFUNCTION,
                            array($this, "_writeData"));
                curl_setopt($c, CURLOPT_HEADERFUNCTION,
                            array($this, "_writeHeader"));
    
                if ($extra_headers) {
                    curl_setopt($c, CURLOPT_HTTPHEADER, $extra_headers);
                }
    
                $cv = curl_version();
                if(is_array($cv)) {
                  $curl_user_agent = 'curl/'.$cv['version'];
                } else {
                  $curl_user_agent = $cv;
                }
                curl_setopt($c, CURLOPT_USERAGENT,
                            Auth_OpenID_USER_AGENT.' '.$curl_user_agent);
                curl_setopt($c, CURLOPT_TIMEOUT, $off);
                curl_setopt($c, CURLOPT_URL, $url);
    
                if (defined('Auth_OpenID_VERIFY_HOST')) {
                    // set SSL verification options only if Auth_OpenID_VERIFY_HOST
                    // is explicitly set, otherwise use system default.
                    if (Auth_OpenID_VERIFY_HOST) {
                        curl_setopt($c, CURLOPT_SSL_VERIFYPEER, true);
                        curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 2);
                        if (defined('Auth_OpenID_CAINFO')) {
                            curl_setopt($c, CURLOPT_CAINFO, Auth_OpenID_CAINFO);
                        }
                    } else {
                        curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
                    }
                }
    
                curl_exec($c);
        /* неинтересное пропущено */
        }
        
        function post($url, $body, $extra_headers = null)
        {
            if (!$this->canFetchURL($url)) {
                return null;
            }
    
            $this->reset();
    
            $c = curl_init();
    
            if (defined('CURLOPT_NOSIGNAL')) {
                curl_setopt($c, CURLOPT_NOSIGNAL, true);
            }
    
            curl_setopt($c, CURLOPT_POST, true);
            curl_setopt($c, CURLOPT_POSTFIELDS, $body);
            curl_setopt($c, CURLOPT_TIMEOUT, $this->timeout);
            curl_setopt($c, CURLOPT_URL, $url);
            curl_setopt($c, CURLOPT_WRITEFUNCTION,
                        array($this, "_writeData"));
    
            if (defined('Auth_OpenID_VERIFY_HOST')) {
                // set SSL verification options only if Auth_OpenID_VERIFY_HOST
                // is explicitly set, otherwise use system default.
                if (Auth_OpenID_VERIFY_HOST) {
                    curl_setopt($c, CURLOPT_SSL_VERIFYPEER, true);
                    curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 2);
                    if (defined('Auth_OpenID_CAINFO')) {
                        curl_setopt($c, CURLOPT_CAINFO, Auth_OpenID_CAINFO);
                    }
                } else {
                    curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
                }
            }
    
            curl_exec($c);
    /* to be continued */

    Фрагмент едва ли не самой популярной библиотеки OpenID, а именно клиентской части: http://janrain.com/openid-enabled/
    Всё бы было хорошо, но залогиниться, используя лайвджорналовский опенайдишник, не получается. По форумам поползли слухи, что ЖЖ не полностью поддерживает протокол OpenID (хотя протокол разработал Фицпатрик, один из создателей LiveJournal); что он метод POST не поддерживает, поэтому его нужно менять на GET; предлагались совершенно безумные хаки, которые на самом деле не работают...

    А ларчик просто открывался. Для поддержки ЖЖ достаточно в приведённый код добавить пару строк. Открыть спойлер или кто-нибудь угадает?

    inkanus-gray, 25 Апреля 2012

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

    +149

    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
    $USER_ID = $_GET['user_id']; 
          $API_METHOD = $_GET['method']; 
          
          $Errors = array('Error#001' => 'Undefined data in request!');
          
          switch($API_METHOD)
          {
            case 'get_user_name_by_id':
              echo EncodeJSON(UserAPI::GetUserNameByID($USER_ID));
              break;  
              
            case 'get_user_status_by_id':
              echo EncodeJSON(UserAPI::GetUserStatusByID($USER_ID));
              break;
                
            default:
              echo $Errors['Error#001'];
              break; 
          }
            class UserAPI //test
            {
               function GetUserNameByID($ID)
               {
                  $SqlQuery = mysql_query("SELECT displayname FROM engine4_users WHERE user_id='$ID'");
                  $Response = mysql_fetch_array($SqlQuery);
                  $Result = array('UserName'=>$Response['displayname']);
                  return $Result;
               }
               
               function GetUserStatusByID($ID)
               {
                  $SqlQuery = mysql_query("SELECT status FROM engine4_users WHERE user_id='$ID'");
                  $Response = mysql_fetch_array($SqlQuery);
                  $Result = array('UserStatus'=>$Response['status']);
                  return $Result; 
               }
            }
            
            function EncodeJSON($arr) {
            $parts = array();
            $is_list = false;
            
            if (!is_array($arr)) return;
            if (count($arr)<1) return '{}';
            $keys = array_keys($arr);
            $max_length = count($arr); 
                    
            if(($keys[0] == 0) and ($keys[$max_length] == $max_length)) {
                $is_list = true;
                for($i=0; $i<count($keys); $i++) { 
                    if($i != $keys[$i]) { 
                        $is_list = false; 
                        break;
                    }
                }
            }
            foreach($arr as $key=>$value) {
                if(is_array($value)) { 
                    if($is_list) $parts[] = array2json($value);
                    else $parts[] = '"' . $key . '":' . array2json($value);
                } else {
                    $str = '';
                    if(!$is_list) $str = '"' . $key . '":';
                    if(is_numeric($value)) $str .= $value; 
                    elseif($value === false) $str .= 'false'; 
                    elseif($value === true) $str .= 'true';
                    else $str .= '"' . addslashes($value) . '"';
                    $parts[] = $str;
                }
            }
            $json = implode(',',$parts);
            if($is_list) return '[' . $json . ']';
            return '{' . $json . '}';
        }

    Удивительное рядом.

    Govnisti_Diavol, 14 Апреля 2012

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

    +157

    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
    mysql_connect($MYSQL_HOST,$MYSQL_USER,$MYSQL_PASSWORD) OR DIE("Не могу создать соединение "); 
            mysql_select_db($MYSQL_DB_NAME) or die(mysql_error());  
            $query = "SELECT * FROM `Subdivision` WHERE `Checked`=1";  
            $result = mysql_query($query) or die(mysql_error()); 
            $i=0;
            while($row = mysql_fetch_assoc($result))
              {
                $data[$i]=$row;
                $i++;
              }
            $query = "SELECT * FROM `Subdivision` WHERE `Subdivision_Name`='Спорт'";
            $result = mysql_query($query) or die(mysql_error()); 
            $row = mysql_fetch_assoc($result);
            $data[]=$row;
            $data['22']['Subdivision_Name']='Главная (интернет магазин прикольных футболок с надписью)';
            $data['19']['Subdivision_Name']='Креативные футболки с прикольными рисунками';
            $data['2']['Subdivision_Name']='Классные футболки для офиса';
            $data['3']['Subdivision_Name']='Оригинальные студенческие футболки';
            $data['4']['Subdivision_Name']='Самые лучшие футболки sexy';
            $data['6']['Subdivision_Name']='Правильные футболки для админов';
            $data['32']['Subdivision_Name']='Клевые футболки South Park ';
            $data['35']['Subdivision_Name']='Эксклюзивные футболки на хэллоуин'; 
            $array = array(13,9,11,10,12,14,15,16);
            $sub_array = array(33,19,31,38,0,1,2,3,4,5,6,7,8,20,32,35,36,37);
            $sitemap ="<ul>";
            $sitemap.="<li><a href='".$data['22']['Hidden_URL']."'>".$data['22']['Subdivision_Name']."</a></li>"; 
            $sitemap.="<ul>";
            for($i=0;$i<count($sub_array);$i++)
              {
                 $sitemap.="<li><a href='".$data[$sub_array[$i]]['Hidden_URL']."'>".$data[$sub_array[$i]]['Subdivision_Name']."</a></li>"; 
              }
            $sitemap.="</ul>";
            for($i=0;$i<count($array);$i++)
              {
                 $sitemap.="<li><a href='".$data[$array[$i]]['Hidden_URL']."'>".$data[$array[$i]]['Subdivision_Name']."</a></li>"; 
              }
            $sitemap.="</ul>";
            
            return $sitemap;

    комментарии излишни

    freeadler, 13 Апреля 2012

    Комментарии (5)
  8. ActionScript / Говнокод #9866

    −121

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    override public function removeChildAt(index:int):DisplayObject
    {
    var child:DisplayObject = getChildAt(index);
    
    removingChild(child);
    
    $removeChild(child);
    
    childRemoved(child);
    
    return child;
    }

    kyzi007, 05 Апреля 2012

    Комментарии (5)
  9. Python / Говнокод #9864

    −97

    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
    for digest in li:
    
        s = 1
        i = 0
        j = 1
    
        while i <= 4:
    
            s = int(digest[i:j]) * s
    
            i += 1
            j += 1
    
        li2.append(s)

    Вычисление произведения пяти чисел
    li = список строк вида "01234"

    Yurik, 04 Апреля 2012

    Комментарии (5)
  10. Objective C / Говнокод #9859

    −115

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
    {
        NSArray* headers = [[NSArray alloc] initWithObjects:@"Friends requests",@"Suggestion friends", nil];
        return [headers objectAtIndex:section];
        [headers release];
    }

    Заставляем проц думать о вченом вопросе: "быть или не быть". И потихоньку съедаем память.

    infog, 04 Апреля 2012

    Комментарии (5)
  11. Куча / Говнокод #9849

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Алгоритм отправки комментария на Govnokod.ru
    
    Если рукой клацнули по кнопочке "Отправить", то:
        проверь, правильно ли введена капча
        ...
        ...
        ...
    
    Если воспользовались хоткеем Ctrl+Enter
        Забей на всё, и сразу пости коммент
        PROFIT!

    Оно чертовски логично. Отсеивает кадров, использующих мышь...

    vistefan, 03 Апреля 2012

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