1. PHP / Говнокод #7521

    +170

    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
    foreach ( $HTTP_POST_VARS as $key => $value ) {$$key=$value;};
    
    function check_existing_dateChK($checking_date) {
        	$query = "SELECT data FROM `kursChK` WHERE `data` = '$checking_date'";
        	$result = mysql_query($query) or die("Query failed");
        	$row = mysql_fetch_assoc($result);
    	$exist_date=$row[data];
    	if ($exist_date=="") 	{
            	return true;
        		}
    	else 
    		{return false;}
    }
    
    //Рисуем форму
    	echo "<form method=post action=$PHP_SELF>
    	<table border=0 align=center>\n
    	
    	<table border=0 align=center>\n
    	<div style='font: 14px Tahoma; color: #F17D18; font-weight: bold;'>Заполнение курсов для Интернет-банка</div><br>
    	<tr><td>Дата</td>\n
    	<td><input type='text' name='dataChK' value = '$current_date' maxlength=10></td>\n
    	</tr>\n
    	<tr><td>Валюта</td><td>Покупка</td><td>Продажа</td></tr>\n
    	<tr><td>USD</td>
    	<td><input type='text' name='usdpoChK' value = '$usdpoChK_last' maxlength=5></td>
    	<td><input type='text' name='usdprChK' value = '$usdprChK_last' maxlength=5></td></tr>\n
    	<tr><td>EURO</td>
    	<td><input type='text' name='eurpoChK' value = '$eurpoChK_last' maxlength=5></td>
    	<td><input type='text' name='eurprChK'value = '$eurprChK_last' maxlength=5></td></tr>\n
    	</table\n>
    	
    	
    	<input type=submit value='Добавить курсы' name='sub'> 
    	<input type=reset value=Вернуть name= reset value = '$data_l'> 
    	</form><br><center><a href='http://10.1.1.234/ibank_kurs/trans.php'>Обновить курсы в ЧК</a></center><br>";
    
    // ... много говна ...
    
      if ($sub=='Добавить курсы' and ($dataChK == "" or !check_existing_dateChK($dataChK)))
      {
        ?>
        <SCRIPT LANGUAGE="javascript"> alert("Запись с такой датой уже существует");
        javascript:history.back(1);
        </SCRIPT>
        <?
        $add_record=false;
      }
    /.../ и так еще раз 20 в коде ниже

    Обратите внимание, каким способом мы узнаем, какое действие совершил пользователь - по надписи на кнопочке! Про SQL-запрос я вообще молчу.

    scriptin, 11 Августа 2011

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

    +161

    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
    if(isset($_POST['poisk'])){$poisk=$_POST['poisk']; $_SESSION['poisk']=$_POST['poisk'];}else{$poisk=$_SESSION['poisk'];}
    		 $prov=intval($_GET['providers']); if($prov==0){unset ($prov);}
    		 $rub=intval($_GET['rubric']); if($rub==0){unset ($rub);}
    		 $gro=intval($_GET['group']); if($gro==0){unset ($gro);}
    		 $con=intval($_GET['country']); if($con==0){unset ($con);}
    		 $ven=intval($_GET['vendor']); if($ven==0){unset ($ven);}
    		 $uid=intval($_GET['uid']); if($uid==0){unset ($uid);}
    		 $str=intval($_GET['str']); if($str==0 or !isset($str) or $str<0){$str=1;}
    		 $contr=intval($_GET['kontrakt']); if($contr==0){$contr=2;}
    		 if(isset($_POST['strok']) and intval($_POST['strok'])!=0){$_SESSION['stroks']=intval($_POST['strok']);}
    		 if(!isset($_SESSION['stroks'])){$strok=7;}else{$strok=$_SESSION['stroks'];}
    		 if(isset($_GET['sort']) and trim($_GET['sort'])!=''){if($_SESSION['sort']==trim($_GET['sort'])){$changesort=1;} $_SESSION['sort']=trim($_GET['sort']);}
    		 $sort=$_SESSION['sort']; if(!isset($_SESSION['sort'])){$sort='nazvanie'; $_SESSION['sort']='nazvanie';}
    		 if(isset($_GET['by']) and trim($_GET['by'])!='' and $changesort==1){$_SESSION['by']=trim($_GET['by']);}
    		 $by=$_SESSION['by']; if(!isset($_SESSION['by'])){$by='ASC'; $_SESSION['by']='ASC';}
    		 if(isset($ven)){
    		 $vat=mysql_fetch_array(mysql_query("SELECT nazvanie FROM partners WHERE ven=".$ven));
    		 $tven=$vat[0];}
    		 if(isset($con)){$katalog=2;}
    		 if(isset($rub)){$katalog=1;}
    		 if($search==2 or $search==1){$katalog=3;}
    		 if(isset($ven) and isset($gro) and $ven!=0 and $gro!=0){
    if($_SESSION['change']!=$ven.$gro or (!isset($_GET['vendor']) and $search!=1 and $search!=2) or !isset($_SESSION['change'])){$_SESSION['change']=$ven.$gro; $sort='nazvanie'; $_SESSION['sort']='nazvanie'; $by='ASC'; $_SESSION['by']='ASC';}

    Особенно понравилось название - "catalogue.php". =)

    nislova, 11 Августа 2011

    Комментарии (21)
  3. Python / Говнокод #7519

    −92

    1. 1
    2. 2
    intToStr = { x:'%s'%x for x in range(-1000, 1000) }
    intToStr[-543]   # <- '-543'

    ЭТО ПИТОН!!!

    Fai, 11 Августа 2011

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

    +139

    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
    private int GetMaxDayValue(int month, int year)
        {
            int value = 0;
            switch (month)
            {
                case 1:
                    value = 31;
                    break;
                case 2:
                    switch (year)
                    {
                        case 2008:
                            value = 29;
                            break;
                        case 2009:
                            value = 28;
                            break;
                        case 2010:
                            value = 28;
                            break;
                        case 2011:
                            value = 28;
                            break;
                        case 2012:
                            value = 29;
                            break;
                        case 2013:
                            value = 28;
                            break;
                        case 2014:
                            value = 28;
                            break;
                        case 2015:
                            value = 28;
                            break;
                        case 2016:
                            value = 29;
                            break;
                    }
    
                    break;
                case 3:
                    value = 31;
                    break;
                case 4:
                    value = 30;
                    break;
                case 5:
                    value = 31;
                    break;
                case 6:
                    value = 30;
                    break;
                case 7:
                    value = 31;
                    break;
                case 8:
                    value = 31;
                    break;
                case 9:
                    value = 30;
                    break;
                case 10:
                    value = 31;
                    break;
                case 11:
                    value = 30;
                    break;
                case 12:
                    value = 31;
                    break;
            }
            return value;
        }

    Кусок кода из активно используемого корпоративного приложения :)

    TasmX, 11 Августа 2011

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

    +165

    1. 1
    2. 2
    foreach ($_POST as $kp => $post)
    	$_POST2[$kp] = $post;

    Это написано в самом начале того скрипта, что мне дали фиксить, в коде я встретил строчки описанные выше, а также деление на 0 и неправильно раставленные скобки в условиях с && и ||

    DarkThinker, 11 Августа 2011

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

    +147

    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
    $offset = intval($_POST['offset']);  
            $sql    = mysql_query("SELECT * FROM `test` ORDER BY id DESC LIMIT $offset, 5");  
            if(mysql_num_rows($sql)>0) { 
            while($post = mysql_fetch_assoc($sql)){  
                foreach($post AS $n=>$m){  
                    $post[$n] = utf8_encode($m); 
                }  
                $json['more'][] = $post; # чтобы было легче до 
            }   
             if(count($json['more']))  { 
                 $json['ok'] = '1';  
             } else {  
                 $json['ok'] = '0'; 
             }      
            } else { 
               $json['ok']='3'; 
            }     
            mysql_close($db);  
        
    echo json_encode($json);

    Индусский метод выборки записей из таблицы.

    fqnm, 11 Августа 2011

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

    +78

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public class Settings {
    
    	public static String CURRENCY = "руб.";
    	
    	public static void setCurrency(String currency) {
    		CURRENCY = currency != null ? currency : "руб.";
    	}
    	
    }

    Мой проект. Можно ли считать это ГК?

    tir, 11 Августа 2011

    Комментарии (243)
  8. 1C / Говнокод #7514

    −129

    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
    . . .
    	ццц=0;                               
    	Если Сотрудникз.Выбран()=0 Тогда
    		Сомр= СоздатьОбъект("Справочник.Сотрудники");
    		Сомр.ВыбратьЭлементы();     
    		цццк=50000;
    	Иначе
    		Сомр=Сотрудникз;
    		цццк=1;
    	КонецЕсли;	  
    	Пока ((ццц<цццк) ) цикл   
    		ццц=ццц+1;    
    		Если цццк>1 Тогда
    			Если (Сомр.ПолучитьЭлемент()=0) Тогда
    				Прервать;
    			КонецЕсли;  
    		КонецЕсли;	 
    		Сотрудник = Сомр.ТекущийЭлемент();   
    		Если Сотрудник.ЭтоГруппа()=1 Тогда
    			продолжить;
    		КонецЕсли;
                    . . .
    
    По нормальному решается:
    
        Сотр = СоздатьОбъект("Справочник.Сотрудники");
        Сотр.ВыбратьЭлементы();
        Пока  (Сотр.ПолучитьЭлемент() = 1)  Цикл
          . . . 
        КонецЦикла

    Досталось в наследство на основной работе, самописная конфа на 7.7,
    как выяснилось этот участок кода писала 50-ти летняя женщина-программист

    adammartin, 11 Августа 2011

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

    +155

    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
    Следующий код приводит в крутящийся восторг все рисунки, обнаруженные на странице :
    javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length; function A(){for(i=0; i<DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++}setInterval('A()',5); void(0);
    
    В этом классическом примере есть место индивидуальности. Например, заставить летать не рисунки, а ссылки (чем не леталки?):
    javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.links; DIL=DI.length; function A(){for(i=0; i<DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++}setInterval('A()',5); void(0);
    
    Тошниловка:
    javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24;x4=10; y4=10; x5=30; y5=20; DI=document.images; DIL=DI.length;function A(){for(i=0; i<DIL; i++){DIS=DI[ i ].style;DIS.position='relative'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5;DIS.top=Math .cos(R*y1+i*y2+y3)*y4+y5}R++ }setInterval('A()',5); void(0)
    
    Пятница:
    javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24;x4=3; y4=40; x5=30; y5=20; DI=document.images; DIL=DI.length;function A(){for(i=0; i<DIL; i++){DIS=DI[ i ].style;DIS.position='relative'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5;DIS.top=-Math.abs(Math .cos(R*y1*2+i*y2+y3)*y4)+y5}R+=2 }setInterval('A()',5); void(0)
    
    Иная_реальность (утро_понедельника):
    javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24;x4=3; y4=40; x5=30; y5=20; DI=document.images; DIW=new Array(); DIH=new Array(); DIL=DI.length; for(i=0;i<DIL;i++){DIW[i]=DI[i].width; DIH[i]=DI[i].height;} function A(){for(i=0; i<DIL; i++){DIS=DI[ i ].style;DIS.position='relative'; DIS.width=Math.abs(Math.sin(R*x1/2+i*x2+x3)*x4+x5)+DIW[i];DIS.height=Math.abs(Math.cos(R*y1/2+i*y2+y3)*y4+y5)+DIH[i];}R++; }setInterval('A()',5); void(0)

    CPPGovno, 11 Августа 2011

    Комментарии (7)
  10. Java / Говнокод #7512

    +84

    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
    search = 0;
    try {
    	search = search + wdContext.currentSearchElement().getLifnr().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	search = search + wdContext.currentSearchElement().getBahns().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	search = search + wdContext.currentSearchElement().getINN().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	search = search + wdContext.currentSearchElement().getKPP().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	search = search + wdContext.currentSearchElement().getKtokk().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	search = search + wdContext.currentSearchElement().getLand1().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	search = search + wdContext.currentSearchElement().getBanks().length();
    } catch (Exception e) {
    	// TODO: handle exception
    }
    try {
    	search = search + wdContext.currentSearchElement().getBankl().length();
    } catch (Exception ex) {
    	// TODO: handle exception
    }
    try {
    	search = search + wdContext.currentSearchElement().getBankn().length();
    } catch (Exception ex) {
    //	TODO: handle exception
    }
    try {
    	search = search + wdContext.currentSearchElement().getLocco().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	//	search = search + wdContext.currentSearchElement().getLoevm().length();
    	search = search + wdContext.currentSearchElement().getName().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	search = search + wdContext.currentSearchElement().getOKPO().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	search = search + wdContext.currentSearchElement().getOrt01().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	search = search + wdContext.currentSearchElement().getSortl().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    if (search == 0)
    	wdComponentAPI.getMessageManager().reportException("Введите критерии поиска", true);
    else {
    	//Далее идет поиск
    }

    Вот такой вот была забабахана проверка входных параметров перед вызовом функции поиска (мною добавлен только последний комментарий, все остальное оригинальное)

    foGa, 11 Августа 2011

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