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

    +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
    24. 24
    /*
    [... выдержки из файла search.php ...]
    */
    //Создание коротких переменных
    	$q = $_GET['q'];
    	
    	if(intval($q)) {
    		//если в поле поиска введено число, перенаправить на просмотр заметки с этим id
    		echo "<meta http-equiv=\"refresh\" content=\"0; url=view.php?id=$q\" />";
    		exit();
    	}
    	//Приведение типа входных данный в строковый
    	$q = strval($q);
    	$q = secure_input_string($q);
    	
    	if (!isset($q) || empty($q) || !is_string($q)) {
    		//Неверные входные данные, скорее всего пользователь не ввел никаких данных в форму поиска
    		echo '<html><head><meta http-equiv="content-type" content="text/html;charset=utf-8" />
      <link href="style/generalstyle.css" rel="stylesheet" /></head><body>';
    	  echo '<div class="error_window" align="center">Ошибка.<br />Вы не ввели данные для поиска.</div>';
    	  echo "<meta http-equiv=\"refresh\" content=\"1; url={$_SERVER['HTTP_REFERER']}\" />";
    	  //Выход из сценария
    	  exit('</body></html>');
    	}

    Тонкости надмозгового мироздания из серии http://govnokod.ru/4278
    Орфография и пунктуация сохранены

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

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

    +160

    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
    /*
    [... выдержки из файла functions.php ...]
    */
    function secure_input_string($string,$strip = true) {
    	/*Функция позволяет обезопасить вводимые пользователем данные путем применения ряда функций в входной строке
    	 * Входная строка должна быть текстом (string) */
    	if ((bool)$strip) {
    		//Усечение пробелов
    		$string = trim($string);
    		//Удаление PHP и HTML тегов
    		//$string = strip_tags($string);
    		//Перевод специальных символов в html эквиваленты
    		$string = htmlspecialchars($string);
    		//Отмена спец-символов обратными косыми чертами
    	}
    	//Удаление попыток вставки кода php или xml
    	$badcode = array('<?php','?>');
    	$code = array('<','>');
    	$string = str_replace($badcode,$code,$string);
    	return $string;
    }
    
    function get_rus_date($ymy) {
    	/*Функция для замены английский названий месяцев русскими названиями*/
    	//Предпологается, что данные поступили в формате ДД JAUNARY 2010, иначе выполнение функции не имеет смысла
    	//Массив с датами на английском
    	$eng = array('January','February','March','April','May','June','July','August','September',
    				'October','November','December');
    	//Массив с датами на русском
    	$rus = array('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь',
    				'Октябрь','Ноябрь','Декабрь');
    	//Замена английских месяцов на русские
    	$ymy = str_replace($eng,$rus,$ymy);
    	return $ymy;
    }
    
    function str_size($size) {
    	//Функция для предаставления размера файла из функции filesize (возвращающуу байты) в удобочитаемый вид
    	//Приведение к строковому типу
    	$size = (string)$size;
    	if (strlen($size) == 0) {
    		//Не удалось получить размер файла
    		return false;
    	}
    	else if (strlen($size) <= 3) {
    		//Размер указан в Байтах
    		return $size.' byte';
    	}
    	else if (strlen($size) >= 4 && strlen($size) < 7) {
    		//Размер указан в Килобайтах
    		$size = (int)$size;
    		$size_k = $size/1024;
    		//Удалить двойную точность
    		$size_k = (int)$size_k;
    		return $size_k.' Kb';
    	}
    	else if (strlen($size) >= 7 && strlen($size) < 10) {
    		//Размер указан в Мегабайтах
    		$size = (int)$size;
    		$size_m = $size/1024;
    		$size_m = $size_m/1024;
    		//Оставить только один знак после точки
    		$size_m = round($size_m,1);
    		$size_m = $size_m.' Мб';
    		return $size_m;
    	}
    	else if (strlen($size) >= 10 && strlen($size) < 13) {
    		//Размер указан в Гигабайтах
    		$size = (int)$size;
    		$size_m = $size/1073741824;
    		//Оставить только один знак после точки
    		$size_m = round($size_m,1);
    		$size_m = $size_m.' Гб';
    		return $size_m;
    	}
    	else {

    Продолжение трагикомической эпопеи http://govnokod.ru/4278
    Орфография и пунктуация сохранены

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

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

    +118

    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
    /**
     * Функция создает новую таблицу. 
     * @param $name - имя новой таблицы. Имя должно быть проверено (например функцией mysql_real_escape_*)
     * @return TRUE - если новая таблица была создана или FALSE - если нет
     */ 
    function createTable($name) {
        $retval = false;
        if(!empty($name)){
            $query = "CREATE TABLE IF NOT EXISTS `" . $name . "` (`Adres` varchar(150) DEFAULT NULL, `send` int(1) DEFAULT NULL )";
            $result = mysql_query($query);
            if($result){
                $retval = true;
            }
        }
        return $retval;
    }

    Вроде все хорошо и красиво. Но есть говнинка которая все портит

    Vasiliy, 19 Сентября 2010

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

    +168

    1. 1
    if(substr($_SERVER['QUERY_STRING'],0,9)==='act=const')

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

    Shevron, 19 Сентября 2010

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

    +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
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    if ( ! function_exists('days_in_month'))
    {
    	function days_in_month($month = 0, $year = '')
    	{
    		if ($month < 1 OR $month > 12)
    		{
    			return 0;
    		}
    	
    		if ( ! is_numeric($year) OR strlen($year) != 4)
    		{
    			$year = date('Y');
    		}
    	
    		if ($month == 2)
    		{
    			if ($year % 400 == 0 OR ($year % 4 == 0 AND $year % 100 != 0))
    			{
    				return 29;
    			}
    		}
    
    		$days_in_month	= array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    		return $days_in_month[$month - 1];
    	}
    }

    разработчики CodeIgniter не ищут лёгких путей
    date('t')

    DrFreez, 19 Сентября 2010

    Комментарии (20)
  6. JavaScript / Говнокод #4281

    +169

    1. 1
    setInterval("(d=document).body.removeChild(d.body.appendChild(x=d.createElement('INPUT'))&&(x.style.display='none')&&!x.focus()&&x);",50);

    Запрещаем выделение текста на странице. Это пиздец.

    eval, 18 Сентября 2010

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

    +143

    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
    #include "StdAfx.h"
    #include <stdio.h>
    #include <conio.h>
    #include <Windows.h>
    
    int main()
    {
    	int hs, hr, ms, mr, resulth, resultm;
    
    	printf("-----------------------------------\n------ Counting machine 3000 ------ \n \n");
    
    	printf("Write start time: ");
    	scanf("%d %d", &hs, &ms);
    
    	printf("Write time on the road: ");
    	scanf("%d %d", &hr, &mr);
    	
    	printf("Expect to perform a calculation...\n");
    	Sleep(4000);
    
    	resulth=hs+hr;
    	resultm=ms+mr;
    	
    	while (resulth>=24)
    	{
    		resulth=resulth-24;
    	}
    	
    	if (resultm>=60)
    	{
    		resultm=resultm-60;
    		resulth++;
    	}
    
    	printf("Done! You'll reach your destination at ", "%d", resulth, ":", "%d", resultm, ".");
    	printf("%d", resulth);
    	printf(":");
    	printf("%d", resultm, ".");
    	printf(".");
    
    	printf("\n\n-----------------------------------");
    	
    	int i;
    	scanf("%d", &i);
    
    	return 0;
    }

    «Время отправления и время прибытия поезда задаются в виде Ч М, где Ч - час от 0 до 23, М - минута от 0 до 59. Время в пути задаётся аналогично в формате Ч М, где Ч - количество часов от 0 до 999, а М - количество минут от 0 до 59.
    Требуется по данному времени отправления и времени в пути вычислить время прибытия поезда (возможно, в другие сутки).»

    Romanoff, 18 Сентября 2010

    Комментарии (14)
  8. Java / Говнокод #4279

    +144

    1. 1
    http://forums.sun.com/thread.jspa?threadID=5213426

    по ссылке длииииииииинный сплошь китайский код. Особенно красиво гипнотизироваться, крутя колесиком мышки вверх-вниз.

    каменный век в виртуальности, сколько ж можно?

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

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    if(!get_magic_quotes_gpc()) {
    	$_GET = addslashes($_GET);
    	$_POST = addslashes($_POST);
    }

    Шедевры отечественного экранирования. Из недр движка http://linuxnow.ru

    telnet, 18 Сентября 2010

    Комментарии (32)
  10. Куча / Говнокод #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)