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

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function check() {
      if (document.login.user.value == "user" && document.login.password.value == "correct_password")
        window.location.href = 'http://this.site/login.html';
      else
        window.location.href = 'http://this.site/loginfehler.html';
    return false;
    }

    http://ithappens.ru/bytag/webdev/13 - И смех и грех!

    dwinner, 15 Ноября 2010

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

    +108

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    ...
    while (true)
    {
         if(i > 5 || SourceNumber == Math.Floor(SourceNumber)) break;
         ...
         i++;
    }
    ...

    Мартин, 15 Ноября 2010

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

    +156

    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
    
            // ...
            $buffer='$buffer';
            $text = '$text';
            // ...
    
            $file = <<<CODE
    <?php
    
        // ...
    
        function prepareText($text)
        {
            $text = str_replace("\\n\\r", " ", $text);
            $text = str_replace("\\r\\n", " ", $text);
            $text = str_replace("\\n", " ", $text);
    
            return $text;
        }
    
        // ...
    CODE;

    Суть такова: нужно было генерировать пхп код, который впоследствии должен был выполняться на клиенте.
    Угадайте, зачем нужны переменные $buffer, $text и еще много таких, в которых лежит имя самой переменной в строке?

    user654321, 26 Октября 2010

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

    +164

    1. 1
    2. 2
    3. 3
    if( empty( $page ) || empty( $_REQUEST['page'])) {
    	if( !empty($_REQUEST['amp;page'])) {
    		$page = $_REQUEST['amp;page'];

    из VirtueMart - компонента для Джумлы.
    интересно, почему нету проверок на $_REQUEST['amp;amp;page']; и $_REQUEST['amp;amp;amp;page']; ?

    Shock, 17 Октября 2010

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

    +158

    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
    <?
    // регистрационная информация (пароль #1)
    // registration info (password #1)
    $mrh_pass1 = "Morbid11";
    
    // чтение параметров
    // read parameters
    $out_summ = $_REQUEST["OutSum"];
    $inv_id = $_REQUEST["InvId"];
    $shp_item = $_REQUEST["Shp_item"];
    $crc = $_REQUEST["SignatureValue"];
    
    $crc = strtoupper($crc);
    
    $my_crc = strtoupper(md5("$out_summ:$inv_id:$mrh_pass1:Shp_item=$shp_item"));
    
    // проверка корректности подписи
    // check signature
    if ($my_crc != $crc)
    {
      echo "bad sign\n";
      exit();
    }
    
    // проверка наличия номера счета в истории операций
    // check of number of the order info in history of operations
    $f=@fopen("order.txt","r+") or die("error");
    
    while(!feof($f))
    {
      $str=fgets($f);
    
      $str_exp = explode(";", $str);
      if ($str_exp[0]=="order_num :$inv_id")
      { 
    	echo "Операция прошла успешно\n";
    	echo "Operation of payment is successfully completed\n";
      }
    }
    fclose($f);
    ?>

    учитесь, как надо с онлайн-наличкой работать
    http://www.robokassa.ru/Doc/demo_php.zip

    xXx_totalwar, 12 Октября 2010

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

    +152

    1. 1
    $this->Справочники = null;

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

    shizzard, 20 Сентября 2010

    Комментарии (12)
  8. Куча / Говнокод #4277

    +143

    1. 1
    (?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$

    "Использование значения "****" для параметра "Пароль для базы данных" невозможно. Значение должно соответствовать регулярному выражению (?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"
    говноюзабилити при инсталляции Джумлы - разрабы забыли, что регэкспы: а. не все знают, б. сложно читать. Почему бы не вывести сообщение в понятном виде, вроде "пароль должен состоять из ..., и не содержать символов ..., и должен быть от .. до .. символов длиной"?

    Lure Of Chaos, 18 Сентября 2010

    Комментарии (12)
  9. Куча / Говнокод #4222

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    {if $oUserProfile->getProfileIcq()}
    	<strong>{$aLang.profile_social_contacts}</strong>
    	<ul>
    	{if $oUserProfile->getProfileIcq()}
    		<li class="icq"><a href="http://www.icq.com/people/about_me.php?uin={$oUserProfile->getProfileIcq()|escape:'html'}" target="_blank">{$oUserProfile->getProfileIcq()}</a></li>
    	{/if}					
    	</ul>
    {/if}

    Smarty-шаблон. ActionProfile/sidebar.tpl (17-я строчка в скине "new") из LiveStreet.
    Озадачивают 1-я и 4-я строки. Типа: "А вдруг?!"

    hybroid, 11 Сентября 2010

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

    +159

    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
    while ($CORE_PATH[strlen($CORE_PATH)-1]=='\\' || $CORE_PATH[strlen($CORE_PATH)-1]=='/')
    
    {
    
    	if (($CORE_PATH[strlen($CORE_PATH)-1]=='\\' || $CORE_PATH[strlen($CORE_PATH)-1]=='/') && strlen($CORE_PATH)>1)
    
    	{
    
    		$CORE_PATH = substr($CORE_PATH, 0, strlen($CORE_PATH)-1);
    
    	}
    
    	elseif (($CORE_PATH[strlen($CORE_PATH)-1]=='\\' || $CORE_PATH[strlen($CORE_PATH)-1]=='/') && strlen($CORE_PATH)==1)
    
    	{
    
    		$CORE_PATH = "";
    
    	}
    
    }

    netrain, 10 Сентября 2010

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    $__=array('!','й','у','х',' ','е','б','е','т',' ','о','т','э',' ',',','т','е','Н');
    $_=array_reverse($__);
    $__=array_slice($_, 0, count($__)-1);
    echo implode($__);

    От автора инновационного вики-движка.
    Оригинальный посыл на PHP.
    Два массива, многозначительная третья строка.
    И все это ради задачи вывести на экран посыл на три буквы, если каждый элемент массива - буква и нулевой элемент - конец фразы.

    7ion, 08 Сентября 2010

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