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

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

    +164

    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
    $arr = array(); // создаем пустой массив чтобы записать туда все логины из БД
    $sql_username_check = mysql_query("SELECT login FROM table");
    if (mysql_num_rows($sql_username_check) > 0) {
            while ($num_login = mysql_fetch_array($sql_username_check)) {
                $arr = $num_login['login']; // здесь и записываем все логины
            } 
    }
    // проверяем, есть ли в массиве логинов загруженный нами новый логин
    // если нет, - записываем...
    if (!in_array($login, $arr)) {
    $sql2 = "INSERT INTO `table` (`Login`,`Password`,`Name`,`Date`) VALUES ('$login','$password','$name',now())";
      $result = mysql_query($sql2) or exit("Ошибка при создании записи. Попробуйте еще раз! ". mysql_error());     
     
         }
         else
         {echo "Этот логин занят, попробуйте другой!<br />";}
    }

    qbasic, 26 Декабря 2010

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

    +145

    1. 1
    <input id="formElm_commentSubmit_default" name="commentSubmit" type="hidden" value="Отправить комментарий [Ctrl+Enter]" /><input class="send" id="formElm_commentSubmit" name="commentSubmit" type="submit" value="Отправить комментарий [Ctrl+Enter]" />

    Мастер-класс от товарища хренкина, у него везде так по два сабмита. Зачем непонятно...

    KomprendaTerrorSquad, 25 Декабря 2010

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

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?php
    $str='евро@@4900';
    $flag1=true;
    $flag2=false;
    $str1=$str2='';
    for($i=1,$c=strlen($str);$i<$c;$i++){
    if($str[$i]!='@' and $flag1) $str1.=$str[$i]; else{ $flag1=false; $flag2=true;}
    if($str[$i]!='@' and $flag2) $str2.=$str[$i];
    }
    echo $str1.' '.$str2; 
    ?>

    Выносим "евро" и "4900" в две строки

    1_and_0, 24 Декабря 2010

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    $_POST['img_src'] = explode("/", "", $_POST['img_src']);
    $_POST['img_src'] = $_POST['img_src'][count($_POST['img_src'])-1];
    $_POST['img_src'] = str_replace("_1", "", $_POST['img_src']);
    $user_file->tmp_insert($_POST['img_src']);

    Магия...

    advvzlol, 16 Декабря 2010

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

    +115

    1. 1
    pi.UserName = pi.UserName.Trim().TrimStart(',').Trim();

    удаление запятой между именем и фамилией если фамилии нет.

    eval_2009, 14 Декабря 2010

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

    +127

    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
    #include <stdio.h>
    #include <math.h>
    
    double math_average (double values[2][3], int rows);
    double dispers (double values[2][3], int rows);
    
    void main() {
      int rows = 2;
      double values[2][3] = {(1,2),(2,4), (4,8)};
    
      double av = math_average (values, rows);
      double di = dispers (values, rows);
    }
    
    /* **********************************************
      Srednee Arifmeticheskoe
      @values[][0]: vremya otpravki paketa;
      @values[][1]: vremya priema paketa
      @values[][2]: raznitsa vremeni priema i otpravki
      @rows: kolichestvo strok 
      ********************************************** */
    double math_average (double* values[2][3], int rows){
      int count = rows;
      double sum = 0;
      
      while (count){
        *values[count][2] = *values[count][0] - *values[count][1];
        sum += *values[count][2];
    	count--;
      }
      
      return (sum / rows);
    }
    
    /* ***********************************
      Dispersiya
      D= sqrt (sum((sr_arifm - a[i])^2))
      @values[][0]: vremya otpravki paketa;
      @values[][1]: vremya priema paketa
      @values[][2]: raznitsa vremeni priema i otpravki
      @rows_sum: kolichestvo strok
    */
      double dispers (double* values[2][3], int rows){
        int count = rows;
        double sum = 0;
      
        double math_av = math_average(values, rows);
        for (int i = 0; i < count; i++){
          sum += pow((math_av - *values[i][2]), 2);
        }
    
        return (sqrt(sum));  
    }

    tuxdie, 01 Декабря 2010

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

    +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
    void CVC6_SampleCodeDlg::OnButtonSaveframe() 
    {
    	// TODO: Add your control notification handler code here
    	SYSTEMTIME lpSysTime;
    	GetLocalTime(&lpSysTime);
    
    	long Dims = SafeArrayGetDim(pvBuffer.parray);
    	if(Dims != 1)
    		return;
    
    	char *pbuf = (char*)malloc(m_FrameSize);
    	char *pfinal = pbuf;
    	for(long i=0;i<m_FrameSize;i++)
    	{
    		SafeArrayGetElement(pvBuffer.parray, &i, pfinal++);
    	}
    	
    	FILE* fSaveFile;
    	CString saveName;
    	if(m_vportsdk.GetGetStreamType() == 1)
    		saveName.Format(".//%d%d%d_%d%d%d.mpg4",lpSysTime.wYear, lpSysTime.wMonth, lpSysTime.wDay,
    			lpSysTime.wHour, lpSysTime.wMinute, lpSysTime.wSecond);
    	else if(m_vportsdk.GetGetStreamType() == 2)
    		saveName.Format(".//%d%d%d_%d%d%d.jpg",lpSysTime.wYear, lpSysTime.wMonth, lpSysTime.wDay,
    			lpSysTime.wHour, lpSysTime.wMinute, lpSysTime.wSecond);
    
    	if((fSaveFile = fopen((LPCTSTR)saveName,"wb"))!=NULL)
    	{
    		fwrite(pbuf, 1, m_FrameSize, fSaveFile);
    		fclose(fSaveFile);
    	}
    	SafeArrayUnaccessData(pvBuffer.parray);
    	delete pbuf;
    	pbuf = NULL;
    }

    VPort ActiveX SDK PLUS от Moxa
    часть 5. Хватит пока :)

    absolut, 27 Ноября 2010

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

    +162

    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
    if (isset($items['1994-2008'])) {
    	$temp = $items['1994-2008'];
    	unset($items['1994-2008']);
    	$items['1994-2009'] = $temp;
    }
    
    ....
    
    $items = $archive+$results;
    arsort($items);
    $items = array_slice($items, 0, 4);
    foreach ($items as $key=>$arr) {
    	$content['items'][]=$arr;
    }

    $archive и $results - два массива :-)

    aleksey, 26 Ноября 2010

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

    −140

    1. 1
    2. 2
    3. 3
    Если (ШаблонПроводки.Наименование = "Распределять пропорционально расчетной базе") Тогда
    	МожноПроводить = 0;
    	Сообщить(НазваниеДока+"неверно указан шаблон проводки", "!");

    Это так профессионально, сравнивать строки...

    1_and_0, 24 Ноября 2010

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

    −857

    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
    -- Возвращает название месяца по русский
       FUNCTION fmonstr (pmon IN VARCHAR2)
          RETURN CHAR
       IS
          TYPE tmon IS TABLE OF VARCHAR2 (60)
             INDEX BY BINARY_INTEGER;
    
          amon   tmon;
       BEGIN
          amon (1) := 'ЯНВАРЬ';
          amon (2) := 'ФЕВРАЛЬ';
          amon (3) := 'МАРТ';
          amon (4) := 'АПРЕЛЬ';
          amon (5) := 'МАЙ';
          amon (6) := 'ИЮНЬ';
          amon (7) := 'ИЮЛЬ';
          amon (8) := 'АВГУСТ';
          amon (9) := 'СЕНТЯБРЬ';
          amon (10) := 'ОКТЯБРЬ';
          amon (11) := 'НОЯБРЬ';
          amon (12) := 'ДЕКАБРЬ';
          RETURN amon (TO_NUMBER (pmon));
          NULL;
       END;                                                        --  End fMonStr

    о наличие nls_date_language=russian и to_char() видимо не догадывались

    itaho, 24 Ноября 2010

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