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

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

    +158.3

    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
    <?php
    
    function secure2() {
        secure();
    }
    
    function secure() {
        secure3();
    }
    
    function secure3() {
        if (!check_session()) {
            $cookie = try_cookie();
            tiny_login($cookie['login'], $cookie['pass'], 1);
            if (check_session()) {
                $ret = true;
            } else {
                $ret = false;
            }
        } else {
            $ret = true;
        }
    
        if (!$ret) {
            $_SESSION['loginerror'] = 'Ошибка авторизации';
            header('location:(ссылка)');
        }
    }
    
    ?>

    В догонку к http://govnokod.ru/1820 по просьбе в комментах
    Реальный код из реального проекта. Что самое интересное — используется secure2
    Как оно работает для меня — загадка.

    Shock, 19 Сентября 2009

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

    +158.2

    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
    if(!$result = MYSQL_QUERY("SELECT gmr_id, gam_chip, gam_price, gam_status FROM ".PREFIX."_games;")) { die(mysql_error()); exit; }
        if(MYSQL_NUMROWS($result))
        {
            while($rows = mysql_fetch_row($result))
            {
                if(isset($gmr_chip[$rows[0]])) $gmr_chip[$rows[0]] += $rows[1];
                else $gmr_chip[$rows[0]]  = $rows[1];
                if(isset($gmr_price[$rows[0]])) $gmr_price[$rows[0]] += $rows[2];
                else $gmr_price[$rows[0]]  = $rows[2];
            }
        }
    
    
        if(!$result = MYSQL_QUERY("SELECT gmr_id, gmr_regdate, gmr_login, gmr_mail, gmr_credits, gmr_money, gmr_status, gmr_birthday, adv_id FROM ".PREFIX."_gamers WHERE gmr_birthday != '';")) { die(mysql_error()); exit; }
        if(MYSQL_NUMROWS($result))
        {
            while($rows = mysql_fetch_row($result))
            {
                $gmr_id[$rows[0]]       = $rows[0];
                $gmr_regdate[$rows[0]]  = $rows[1];
                $gmr_login[$rows[0]]    = $rows[2];
                $gmr_mail[$rows[0]]     = $rows[3];
                $gmr_credits[$rows[0]]  = $rows[4];
                $gmr_money[$rows[0]]    = $rows[5];
                $gmr_status[$rows[0]]   = $rows[6];
                $gmr_birthday[$rows[0]]     = $rows[7];
                if(!isset($gmr_quations[$rows[0]])) $gmr_quations[$rows[0]] = 0;
                if(!isset($gmr_chip[$rows[0]]))     $gmr_chip[$rows[0]]     = 0;
                if(!isset($gmr_price[$rows[0]]))    $gmr_price[$rows[0]]    = 0;
                if(isset($gmr_adverted[$rows[8]])) $gmr_adverted[$rows[8]]++;
                else $gmr_adverted[$rows[8]] = 1;
                $gadv_id[$rows[0]]       = $rows[8];
            }
        }
        MYSQL_QUERY("DROP TABLE ".PREFIX."_tmp_gamers;");
    
        if (!mysql_query ("CREATE TABLE ".PREFIX."_tmp_gamers (
             gmr_id              INT UNSIGNED NOT NULL AUTO_INCREMENT,
             gmr_regdate         DATE NOT NULL,
             gmr_login           CHAR(32) NOT NULL,
             gmr_mail            CHAR(32) NOT NULL,
             gmr_credits         INT UNSIGNED NOT NULL,
             gmr_money           DEC(10, 2) UNSIGNED NOT NULL,
             gmr_status          INT UNSIGNED NOT NULL,
             gmr_birthday            CHAR(12) NOT NULL,
             gmr_quations        INT UNSIGNED NOT NULL,
             gmr_chip            DEC(10, 2) UNSIGNED NOT NULL,
             gmr_price           DEC(10, 2) UNSIGNED NOT NULL,
             gmr_adverted        INT UNSIGNED NOT NULL,
             adv_id              INT UNSIGNED NOT NULL,
                UNIQUE KEY (gmr_id));")) { die(mysql_error()); exit; }
    
    
        $first = true;
        $query = "INSERT INTO ".PREFIX."_tmp_gamers VALUES ";
        if(isset($gmr_id))
        {
            foreach($gmr_id as $key)
            {
                if(!$first) $query .= ', ';
                else $first = false;
                if(!isset($gmr_adverted[$key])) $gmr_adverted[$key] = 0;
                $query .= "($gmr_id[$key], '$gmr_regdate[$key]', '$gmr_login[$key]', '$gmr_mail[$key]', $gmr_credits[$key], $gmr_money[$key], $gmr_status[$key], '$gmr_birthday[$key]', $gmr_quations[$key], $gmr_chip[$key], $gmr_price[$key], $gmr_adverted[$key], $gadv_id[$key])";
            }
            $query .= ";";
            if(!MYSQL_QUERY($query)) { die(mysql_error()); exit; }
        }
    
        unset($gmr_id);
        unset($gmr_regdate);
        unset($gmr_login);
        unset($gmr_mail);
        unset($gmr_credits);
        unset($gmr_money);
        unset($gmr_status);
        unset($gmr_birthday);
        unset($gmr_quations);
        unset($gmr_chip);
        unset($gmr_price);
        unset($gmr_adverted);
        unset($gadv_id);
    
        $type = 'norm';

    И кучка unset-ов! Ты гляди - он еще и память экономит!
    В таблице _gamers over 5k записей. Не трудно догадаться, каких размеров получается строка $query? И главный вопрос: нахрена временная таблица?

    azzz, 08 Февраля 2010

    Комментарии (7)
  4. JavaScript / Говнокод #2402

    +158.2

    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
    function compiledTest(ID, rank, memoryLimit, timeLimit, outputLimit, language, address){
        this.ID = ID;
        this.Rank = rank;
        this.MemoryLimit = memoryLimit;
        this.TimeLimit = timeLimit;
        this.OutputLimit = outputLimit;
        this.Language = language;
        this.Address = address;
        this.TestCases = new Array();
        
        this.getAnswer = function() {
            return document.getElementById(this.ID).value;
        }
        this.getScore = function() {
            var res = service(
                    this.getAnswer(), 
                    new this.allInfo(
                        this.Rank, this.MemoryLimit, this.TimeLimit, this.OutputLimit, this.Language, this.TestCases
                        ),
                    this.Address
                );
            
            return res;
        }
        
        // Смотри здесь ))))))
        this.allInfo = function(rank, memoryLimit, timeLimit, outputLimit, language, testCases) {
        
            this.Rank = rank;
            this.MemoryLimit = memoryLimit;
            this.TimeLimit = timeLimit;
            this.OutputLimit = outputLimit;
            this.TestCases = testCases;
            this.Language = language;
        }
        
        var c = arguments.length;
        for (var i = 6; i < c; i++) {
            this.TestCases.push(arguments[i]);
        }
    }

    Собственноличний говнокод. Буквально на днях писал єтот джаваскрипт. И только теперь заметил УЕБИЩНОЙ КОД. Проект пишется на С#. Джаваскрипта мало, но есть - приходилось писать его двум веб-программистам (также занимались С#) но они уже закончили свою роботу и ушли з проекта. Вот скинули на меня поодержку скриптов ( я js писал давно, но единственний в команде, кто его вообще писал). Написал первое, что пришло в голову для решения задачи.

    ajukraine, 14 Января 2010

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

    +158.2

    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
    <?php
    /**
     * @author DanxilLsPro.net16.net
     * @copyright 2010
     * @email [email protected]
     */
     session_start();
    //require_once "include/auth.php";
    require_once "include/config.php";
    require_once "include/function.php";
    if(is_numeric($_GET['theme']) and $_GET['theme'] >= 1){
    $theme = getTheme($_GET['theme']);
    if($theme == false)show_error();
    }
    top("Просмотр всех тем - Знания - народу!",$style,$bg);
    echo<<<FOO
        <TD ROWSPAN=2 bgcolor="122745"> 
          <p>
    FOO;
    if(is_numeric($_GET['theme']) and $_GET['theme'] >= 1)
    showTheme($theme->name,$theme->time,$theme->author,$theme->text,$theme->voted,$theme->view,$style);
    else
    echo show_all_theme();
    echo "</p>";
    bottom("Знания принадлежат народу!",$style);
    ?>

    Это полный как бе ппц. К чему приводят бессонные ночи в количестве более одной ^^

    DanxilLs, 05 Января 2010

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

    +158.2

    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
    function pass_gen() //Пароль генерируется восьмисимвольный, символы не повторяются
    {
    	$i = 0;
    	$pass = '';
    	$new_symbol = '';
    
    	// символы a-z, A-Z, 0-9, _-=![]{}
    	$symbols = 'abc1d=efg2h!ijklm3[nopqr4stuvw5]xyz_ABC6DEFG{7HIJKL8MNOPQ}R9STUVWXYZ-';
    	$count = strlen($symbols) - 1;
    	
    	while ($i <= 20)
    	{
    		$new_symbol = substr($symbols, rand(0, $count), 1);
    		
    		if (strpos($pass, $new_symbol) === false) 
    		{
    			$pass .= $new_symbol;
    			$i++;
    		}
    	}
    	
    	$pass = substr($pass, 5, 8);
    
    	return $pass;
    }

    "лучшая случайность" и тд)

    litrumb, 13 Декабря 2009

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

    +158.2

    1. 1
    2. 2
    3. 3
    if(empty($_SESSION['login'])) {
        die("<script>top.location.href='index.php';</script>");
    }

    dicos, 03 Декабря 2009

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

    +158.2

    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
    // Находим две ближайшие станицы с обоих краев, если они есть
    if($page - 5 > 0) $page5left = ' <a href=adm.php?'.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
    if($page - 4 > 0) $page4left = ' <a href=adm.php?'.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
    if($page - 3 > 0) $page3left = ' <a href=adm.php?'.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
    if($page - 2 > 0) $page2left = ' <a href=adm.php?'.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
    if($page - 1 > 0) $page1left = '<a href=adm.php?'.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
    
    if($page + 5 <= $total) $page5right = ' | <a href=adm.php?'.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
    if($page + 4 <= $total) $page4right = ' | <a href=adm.php?'.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
    if($page + 3 <= $total) $page3right = ' | <a href=adm.php?'.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
    if($page + 2 <= $total) $page2right = ' | <a href=adm.php?'.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
    if($page + 1 <= $total) $page1right = ' | <a href=adm.php?'.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';
    
    // Вывод меню если страниц больше одной
    
    if ($total > 1)
    {
    Error_Reporting(E_ALL & ~E_NOTICE);
    echo "<div class=\"pstrnav\">";
    echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
    echo "</div>";
    }

    Типа постраничный вывод сообщений...

    Cr@ZyBoY, 27 Октября 2009

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

    +158.2

    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
    var TIWRECTANGLE14IWCL;
    var TIWRECTANGLE17IWCL;
    var TIWRECTANGLE18IWCL;
    var TIWRECTANGLE19IWCL;
    var TIWRECTANGLE16IWCL;
    var TIWRECTANGLE15IWCL;
    var TIWRECTANGLE10IWCL;
    var TIWRECTANGLE12IWCL;
    var TIWRECTANGLE13IWCL;
    var TIWRECTANGLE11IWCL;
    var TIWRECTANGLE9IWCL;
    var TIWRECTANGLE7IWCL;
    var TIWRECTANGLE8IWCL;
    var TIWRECTANGLE1IWCL;
    var TIWRECTANGLE4IWCL;
    var TIWRECTANGLE6IWCL;
    var TIWRECTANGLE5IWCL;
    var TIWRECTANGLE3IWCL;
    var TIWRECTANGLE2IWCL;
    var IWEDIT1IWCL;
    function IWEDIT2_OnKeyPress(ASender) {
    return CheckReturnKey(event.keyCode, 'IWEDIT2', true);
    }

    Массивы - исчадие прих.больниц для неполноценных программистов!
    Тру говнокодер пишет так!

    Код веб-страницы на Делфи. Продолжение - http://govnokod.ru/1709

    Taqi, 28 Августа 2009

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

    +158.2

    1. 1
    2. 2
    3. 3
    $step = ($item / 10);
    $step = explode(".",  $step); 
    $j = ($step[0] * 10 + 1);

    Округляем хуле %)

    junqed, 13 Августа 2009

    Комментарии (2)
  11. JavaScript / Говнокод #1873

    +158.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    case 'down':
    	if (parseInt(pageTop) + parseInt(pageHeight) - parseInt(elementTop) - parseInt(elementHeight) - parseInt(elementBorderTop) - parseInt(elementBorderBottom) >= parseInt(stepOfMove)) {
    		var topParam = parseInt(elementTop) - 0 + parseInt(stepOfMove) + 'px';
    		elementToMove.style.top = topParam;
    		this.updateElementsParams(id,'top',topParam);
    	} else {
    		stepOfMoveElement.value = parseInt(pageTop) - 0 + parseInt(pageHeight) - parseInt(elementTop) - parseInt(elementHeight) - parseInt(elementBorderTop) - parseInt(elementBorderBottom);
    	}
    break;

    и так миллион тыщ раз...

    Sadie, 21 Сентября 2009

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