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

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

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $url = $_SERVER['REQUEST_URI'].'/';
    $counter = substr_count($url, 'page=');
    if($counter!=0){
    preg_match('/(page=)(.*?)(\/)/', $url, $pag);
    $sim_o = array('page=', '/');
    $sim_z= array('','');
    $pag = str_replace($sim_o, $sim_z, $pag);
    $page = $pag[0];
    echo $page;
    }

    Проверяем наличие GET и выводим его же.

    OJA, 10 Сентября 2011

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

    +154

    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
    <?php
    function import_var($name,$source,$type,$maxlen=0) {
    	$retarr=array();
    	if(is_array($name)) { // если нужно обработать массив с именами
    		foreach($name as $v) {
    			$retarr[$v] = import_var($v,$source,$type,$maxlen);
    			// рекурсивно запускаем себя же
    		}
    	if(sizeof($retarr)>0) return $retarr; // возвращаем массив
    	}
    	// если нужно обработать одну переменную
    	switch($source) {
    		case 'G':
    			if (isset($_GET[$name])) {
    				$var=$_GET[$name];  // из GET
    			}
    		break;
    		case 'P':
    			if (isset($_POST[$name])) {
    				$var=$_POST[$name];  // из POST
    			}
    		break;
    		case 'C':
    			if (isset($_COOKIE[$name])) {
    				$var=$_COOKIE[$name];  // из Cookie
    			}
    		break;
    	}
    
    	if(!isset($var)) return false; // если переменная существует
    
    	if(is_array($var)) return false; // и если это не массив...
    
    	if(get_magic_quotes_gpc()) $var = stripslashes($var);
    	// убираем лишние бэкслэши
    
    	if(empty($var)) return false; // если переменная пуста
    
    	if ($maxlen>0) $var = substr($var,0,$maxlen); //обрубаем лишнее
    
    	switch($type) { // теперь обрабатываем в соответствии с типом
    		case 'INT' : // число integer
    			return is_integer($var) ? $var : intval($var);
    		break;
    		case 'NUM' : // число integer или float
    			return is_numeric($var) ? $var : false;
    		break;
    		case 'HTML' : // текст, в котором могут содержаться тэги
    			return trim(htmlspecialchars($var));
    		break;
    		case 'SQL' : // строка, которая попадет в SQL-запрос
    			return mysql_real_escape_string(htmlspecialchars($var));
    		break;
    		case 'MAIL'	: // email-адрес
    			return preg_match('/^[\w\.\-]+@\w+[\w\.\-]*?\.\w{2,4}$/',$var) ? $var : false;
    		break;
    		case 'ALPHA' : // только буквенные символы
    			return preg_match("/^[а-яА-ЯёЁa-zA-Z]+$/",$var) ? $var : false;
    		break;
    		case 'ALPHANUM' : // числовые и буквенные символы
    			return preg_match("/^[а-яА-ЯёЁa-zA-Z0-9]+$/",$var) ? $var : false;
    		break;
    		case 'MD5' : // md5-хэш
    			return preg_match("/^[a-fA-F0-9]{32}+$/",$var) ? $var : false;
    		break;
    		case 'SHA1' : // sha1-хэш
    			return preg_match("/^[a-fA-F0-9]{40}+$/",$var) ? $var : false;
    		break;
    		case 'BOOL': // булева величина
    			return ($var=="1" || $var=="true" || $var=="on") ? true : false;
    		break;
    	}
    }
    ?>

    http://raz0r.name/releases/funkciya-dlya-obrabotki-vxodyashhix-dannyx/

    sectus, 09 Сентября 2011

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    $transaction_number = (int)$this->security->xss_clean(trim(htmlspecialchars(substr($transaction_number, 0, 50))));
    
    if(!$transaction_number OR $transaction_number < 0)
    			$transaction_number = 0;

    один из наших программистов пишет.
    CodeIgniter.

    themars, 07 Сентября 2011

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

    +126

    good luck, suckers!

    Lure Of Chaos, 05 Сентября 2011

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

    +976

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static bool MegaDispose(this IDisposable thіs)
    {
      if (thіs != null)
      {
        thіs.Dispose();
        return true;
      }
      return false;
    }

    CPPGovno, 05 Сентября 2011

    Комментарии (16)
  7. C++ / Говнокод #7770

    +175

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    if (l1->Initilalize("4D353141",true))
    	StatusBarBottom->Panels->Items[2]->Text="Плата XXX загружена";
    else StatusBarBottom->Panels->Items[2]->Text="Не обнаружена плата L791, ном. 4D353141";
    
    if (l1->Initilalize("4D353129",true))
    	StatusBarBottom->Panels->Items[2]->Text="Платы XXX загружены";
    else StatusBarBottom->Panels->Items[2]->Text="Не обнаружена плата XXX, ном. 4D353129";
    
    if (l1->Initilalize("4D353129",true) && l1->Initilalize("4D353129",true) )
    	StatusBarBottom->Panels->Items[2]->Text="Загружены две платы XXX";

    Копипаста - враг программиста. Чувак инициализировал одну плату 4 раза!!!

    phys-tech, 05 Сентября 2011

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

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    Делфи есть светочь всего человечества... 
    и мне всё пофиг...
    СИонистам просьба тут слюной не брызгать...
    
    тут обсуждать только величие великого паскаля и его семейство... можно также чуть чуть о обероне и модуле...
    
    положительно воспринимаються стихи и песни про дельфиноф в героическом ракурсе (например о героических победах в холиварах против СИПиПишникоф)
    
    
    всякие джокеры, лакмусы и прочие нупы - фтопку, кг/ам, йаду...

    http://www.gamedev.ru/flame/forum/?id=12560

    CPPGovno, 25 Августа 2011

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

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    // ����� �������� � �������
        if (!function_exists('indexOf')) {
            function indexOf($needle, $haystack) {
                for($i = 0; $i < count($haystack); $i++) {
                    if ($haystack[$i] == $needle) {
                        return true;
                    }
                }
                return false;
            }
        }

    По просьбе трудящихся... (#7616)
    Кто угадает, что это за функция?
    Ответ: это велосипедная конструкция-заменитель in_array

    xStream, 23 Августа 2011

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

    +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
    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
    <?php
    	include_once "database.php";
    	
    	$db = NewPDO();
    	$search = $db->prepare("SELECT w.wine_name as wine_name, w.year as wine_year, gv.variety as wine_variety, wn.winery_name as winery_name,r.region_name as region_name
    							FROM wine w
    							JOIN wine_variety wv ON w.wine_id = wv.wine_id
    							JOIN grape_variety gv ON wv.variety_id = gv.variety_id
    							JOIN winery wn ON w.winery_id = wn.winery_id JOIN region r ON wn.region_id = r.region_id
    							WHERE w.wine_name LIKE :in_wine_name AND wn.winery_name LIKE :in_winery_name AND r.region_name LIKE :in_region_name
    							ORDER BY w.wine_name ASC , w.year ASC , gv.variety ASC");
    	$wine_name = '%'.htmlspecialchars($_GET["wine"]).'%';
    	$winery_name = '%'.htmlspecialchars($_GET["winery"]).'%';
    	$region = '%'.htmlspecialchars($_GET["region"]).'%';
    	
    	$search->bindValue(':in_wine_name',$wine_name,PDO::PARAM_STR);
    	$search->bindValue(':in_winery_name',$winery_name,PDO::PARAM_STR);
    	$search->bindValue(':in_region_name',$region,PDO::PARAM_STR);
    	
    	$search->execute();
    	echo "<table>";
    	if ($search->columnCount() > 0)
    	{
    		echo "<tr align=\"center\">
    				<th>
    					Wine
    				</th>
    				<th>
    					Year
    				</th>
    				<th>
    					Variety
    				</th>
    				<th>
    					Winery
    				</th>
    				<th>
    					Region
    				</th>
    			  </tr>";
    		while($row = $search->fetch())
    		{
    			echo "<tr align=\"left\">
    					<td width=\"80\">
    						".$row["wine_name"]."
    					</td>
    					<td width=\"50\">
    						".$row["wine_year"]."
    					</td>
    					<td width=\"90\">
    						".$row["wine_variety"]."
    					</td>
    					<td width=\"230\">
    						".$row["winery_name"]."
    					</td>
    					<td>
    						".$row["region_name"]."
    					</td>
    				  </tr>";
    		}
    		echo "<tr>
    			  	<td colspan=\"5\">
    					".$search->rowCount()." records found matching your criteria.
    				</td>
    		      </tr>";
    	}
    	else
    	{
    		echo "<tr><td>No records match your search criteria</td></tr>";
    	}
    	echo "</table>";
    ?>

    Вот такой вот полнотекстовый поиск с выводом результата

    denis90, 23 Августа 2011

    Комментарии (16)
  11. Pascal / Говнокод #7586

    +108

    1. 1
    if (rmes<>'')and(rmes<>#13#10)and(rmes<>#13#10#13#10)and(rmes<>#13#10#13#10#13#10) then

    Эталонный условный оператор прямо из Парижской Дельфийской палатки мер и весов.

    bugmenot, 18 Августа 2011

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