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

    +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
    <?
    	function lang($lang) {
    
    		$languages = array('ru', 'en', 'lv');
    	
    		foreach($languages as $lang_arr) {
    	                // Проверка, есть ли такой язык в массиве
    			if($lang == $lang_arr) {
    				// Меняем язык
    			}
    		}
    
    	}
    ?>

    in_array(); ?

    Не, не слышал... ;)

    killro0000, 15 Декабря 2011

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

    +142

    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
    78. 78
    79. 79
    80. 80
    <?php
    // страницы, содержимое которых надо получить
    $urls = array('www.yandex.ru', 'www.google.ru', 'www.mail.ru', 'www.rambler.ru');
     
    $rtasks = array(); // задачи чтения
    $wtasks = array(); // задачи записи
    $results = array(); // результаты
     
    foreach ($urls as $url) {
    	// открываем отдельный сокет
    	$sh = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    	if (!$sh) continue;
     
    	// таймаут для чтения
    	socket_set_option($sh, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 10, "usec" => 0));
    	// таймаут для записи
    	socket_set_option($sh, SOL_SOCKET, SO_SNDTIMEO, array("sec" => 10, "usec" => 0));
    	// задаем неблокирующий режим сокетов
    	socket_set_nonblock($sh);
    	// определяем ip хоста
    	$ip = gethostbyname($url);
    	// соединяемся
    	socket_connect($sh, $ip, 80);
     
    	// добавляем в задачи для записи
    	$wtasks[$url] = $sh;
    }
     
    // продолжаем, пока есть задачи для записи или чтения
    while ($wtasks || $rtasks) {
    	// массив для сокетов с возможностью чтения
    	$rtasks_ = $rtasks;
    	// массив для сокетов с возможностью записи
    	$wtasks_ = $wtasks;
     
    	// ждем результатов из сокетов
    	$n = socket_select($rtasks_, $wtasks_, $e=null, 10);
    	if ($n > 0) {
    		// сокеты, доступные для записи
    		foreach ($wtasks_ as $sh) {
    			// ищем урл страницы по дескриптору сокета в массиве задач записи
    			$url = array_search($sh, $wtasks);
    			// удаляем из задач записи
    			unset($wtasks[$url]);
    			// добавляем в задачи чтения
    			$rtasks[$url] = $sh;
    			// формируем http-заголовки
    			$headers  = "GET / HTTP/1.0\r\n";
    			$headers .= "Host: ".$url."\r\n";
    			$headers .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 MRA 5.3 (build 02557) Firefox/3.0.6\r\n";
    			$headers .= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n";
    			$headers .= "Accept-Language: ru,en-us;q=0.7,en;q=0.3\r\n";
    			$headers .= "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
    			$headers .= "\r\n";
     
    			// записываем в сокет
    			if (socket_write($sh, $headers) === false) fclose($sh);
    		}
     
    		// сокеты, доступные для чтения
    		foreach ($rtasks_ as $sh) {
    			// ищем урл страницы по дескриптору сокета в массиве задач чтения
    			$url = array_search($sh, $rtasks);
    			if (!$url) continue;
    			// считываем результат из сокета
    			$result = '';
    			while ($r = socket_read($sh, 1024)) $result .= $r;
    			// закрываем сокет
    			socket_close($sh);
    			// удаляем из задач чтения
    			unset($rtasks[$url]);
    			// заносим html в массив результатов
    			$results[$url] = $result;
    		}
    	}
    	else {
    		break;
    	}
    }
    ?>

    a_e, 15 Декабря 2011

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

    +163

    1. 1
    if(!($_POST[$_POST[parameter_value]])){$parameter_value=" ";}else{$parameter_value=$_POST[$_POST[parameter_value_cash]];}

    shl, 15 Декабря 2011

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <?
    if(!file_exists($abs_path)){
      $new = "Y";
      // ...
    }
    //...
    if(strlen($new) > 0  ){
    // ...
    ?>

    Угадай CMS по коду!

    belukov, 14 Декабря 2011

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

    +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
    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
    class PAGING
    {
      var $sql,$records,$pages;
      var $page_no,$total,$limit,$first,$previous,$next,$last,$start,$end;
      function PAGING($sql,$records=9,$pages=5)
      {   global $mysqli;
        if($pages%2==0) $pages++;
        $res = $mysqli->query($sql);
        $sqlquery++;
        $total=mysqli_num_rows($res);
        $page_no=isset($_GET["p"])?$_GET["p"]:1;
        $limit=($page_no-1)*$records;
        $sql.=" limit $limit,$records";
        $first=1;
        $previous=$page_no>1?$page_no-1:1;
        $next=$page_no+1;
        $last=ceil($total/$records);
        if($next>$last)
          $next=$last;
        $start=$page_no;
        $end=$start+$pages-1;
        if($end>$last)
          $end=$last;
        if(($end-$start+1)<$pages)
        {
          $start-=$pages-($end-$start+1);
          if($start<1)
            $start=1;
        }
        if(($end-$start+1)==$pages)
        {
          $start=$page_no-floor($pages/2);
          $end=$page_no+floor($pages/2);
          while($start<$first)
          {
            $start++;
            $end++;
          }
          while($end>$last)
          {
            $start--;
            $end--;
          }
        }
        $this->sql=$sql;
        $this->records=$records;
        $this->pages=$pages;
        $this->page_no=$page_no;
        $this->total=$total;
        $this->limit=$limit;
        $this->first=$first;
        $this->previous=$previous;
        $this->next=$next;
        $this->last=$last;
        $this->start=$start;
        $this->end=$end;
      }
      function show_paging($url,$params=""){...}
    }

    Вот так вот товарищ пейджинг организует ООО)

    aleXoid, 13 Декабря 2011

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

    +146

    1. 1
    http://chechnya.gov.ru/page.php?day=102&month=13&year=2222

    Ещё можете год убрать, и посмотрите как вывалится ошибка mktime()
    XDDD

    Мне кажется этот сайт по бумагам стоит не менее чем 1ккк руб.

    vkontakte, 13 Декабря 2011

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

    +153

    1. 1
    'email'   => array('/^[-_a-z0-9\'+*$^&%=~!?{}]++(?:\.[-_a-z0-9\'+*$^&%=~!?{}]+)*+@(?:(?![-.])[-a-z0-9.]+(?<![-.])\.[a-z]{2,6}|\d{1,3}(?:\.\d{1,3}){3})(?::\d++)?$/iD', 'Введите правильный e-mail, пожалуйста.')

    Вот такая проверка валидности email

    Sulik78, 13 Декабря 2011

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

    +171

    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
    .............
    try {
          $good = $admin->isest ? true : false;
          if(!$good) throw new adminException('Ошибка!');
    }catch (Exception $e){
    {
          try {
            if($admin->isnet) throw new adminException('Админа нет!');
          }catch (adminException $e){
               echo $e->getMessage();
          {      
    }
    ................

    От создателя Говнокод #8761.

    Товарищи начал юзать исключения.

    Razban_Guestov, 12 Декабря 2011

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

    +166

    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
    mysql_connect("localhost", "root", "");
    mysql_select_db("vse_vmeste");
    $data = mysql_query("SELECT * FROM users WHERE user_id='" . $_COOKIE['id'] . "'");
    
    if(isset($_GET['check_code'])) {
    if($data['check_code'] == $_GET['check_code']) {
    // Если код правильный, выполняем соответствующие действия
    }
    else {
    print "<script type=\"text/javascript\">alert('Ошибка при активации: неверный код потверждения');</script>";
    }
    }
    else {
    header("Location: index.php");
    }

    "Я пишу скрипт подтверждения электропочты. Попробовал протестировать (мне он должен был сказать, что код правильный), но выводится ошибка неверного кода. Где здесь ошибка?".
    С Гугл ВиО (http://otvety.google.ru/otvety/thread?tid=78a8196f16cdb481)

    MyNameIsWinner, 11 Декабря 2011

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

    +170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function draw_text() {
    // ***
    // Здесь код, генерирующий изображение для текста капчи
    // $im_text - это его дескриптор
    // Но самое интересное в конце ))
    // ***
    return $im_text;
    imagedestroy($im_text); 
    }

    MODx Evolution 1.0.5, фрагмент кода, отвечающего за генерацию капчи

    shlyapa, 11 Декабря 2011

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