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

    +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
    private static function getKey($len = 8)
     {
        global $db;
    
      $chars = 'QWERTYUIOPASDFGHJKLZXCVBNM0123456789';
      $key = '';
    
      for ($i = 0; $i < $len; $i++)
      {
       $key .= substr($chars, rand(1, strlen($chars)) - 1, 1);
      }
    
      if ($db -> select(
       'SELECT *
       FROM ' . self::$t_main .
       ' WHERE `key` = "' . $key . '"'))
      {
       return ModelTickets::getKey();
      }
    
      return $key;
     }

    "Генератор" уникального ключа.

    Автор кода когда-то хотел к нам на работу устроиться. Но всё как-то не срасталось, а потом другую работу нашёл. Я об этом долгое время жалел, но потом я нашёл вот этот код, за его авторством. И я понял, б-г есть, уберёг контору от страшного.

    Рекурсия по базе данных - это надо иметь особый склад ума.

    Shitafaka, 10 Марта 2015

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

    +167

    1. 1
    error_reporting(FALSE);

    Я пофиксил баги в вашем проекте :)

    proweber1, 09 Марта 2015

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

    +158

    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
    	
    	# Регистрация
    
    	if(isset($_POST["login"])){
    	
    	if(isset($_SESSION["captcha"]) AND strtolower($_SESSION["captcha"]) == strtolower($_POST["captcha"])){
    	unset($_SESSION["captcha"]);
    
    	$login = $func->IsLogin($_POST["login"]);
    	$pass = $func->IsPassword($_POST["pass"]);
    	$rules = isset($_POST["rules"]) ? true : false;
    	$time = time();
    	$ip = $func->UserIP;
    	$UserIP = $_SERVER['REMOTE_ADDR'];
    	
    	$email = $func->IsMail($_POST["email"]);
    	$referer_id = (isset($_COOKIE["i"]) AND intval($_COOKIE["i"]) > 0 AND intval($_COOKIE["i"]) < 1000000) ? intval($_COOKIE["i"]) : 1;
    	$referer_name = "";
    	if($referer_id != 1){
    		$db->Query("SELECT user FROM db_users_a WHERE id = '$referer_id' LIMIT 1");
    		if($db->NumRows() > 0){$referer_name = $db->FetchRow();}
    		else{ $referer_id = 1; $referer_name = "wolframavtor"; }
    	}else{ $referer_id = 1; $referer_name = "wolframavtor"; }
    	
    		if($rules){
    
    			if($email !== false){
    		
    			if($login !== false){
    			
    				if($pass !== false){
    			
    					if($pass == $_POST["repass"]){
    						
    						$db->Query("SELECT COUNT(*) FROM db_users_a WHERE user = '$login'");
    						if($db->FetchRow() == 0){
    						
    						# Регаем пользователя
    						$db->Query("INSERT INTO db_users_a (user, email, pass, referer, referer_id, date_reg, ip) 
    						VALUES ('$login','{$email}','$pass','$referer_name','$referer_id','$time',INET_ATON('$ip'))");
    						
    						$lid = $db->LastInsert();
    						
    						$db->Query("INSERT INTO db_users_b (id, user, a_t, last_sbor) VALUES ('$lid','$login','1', '".time()."')");
    						
    						# Вставляем статистику
    						$db->Query("UPDATE db_stats SET all_users = all_users +1 WHERE id = '1'");
    						
    						echo "<center><b><font color = 'green'>Вы успешно зарегистрировались. Используйте форму слева для входа в аккаунт</font></b></center><BR />";
    						?></div>
    						<div class="clr"></div>	
    						<?PHP
    						return;
    						}else echo "<center><b><font color = 'red'>Указанный логин уже используется</font></b></center><BR />";
    						
    					}else echo "<center><b><font color = 'red'>Пароль и повтор пароля не совпадают</font></b></center><BR />";
    			
    				}else echo "<center><b><font color = 'red'>Пароль заполнен неверно</font></b></center><BR />";
    			
    			}else echo "<center><b><font color = 'red'>Логин заполнен неверно</font></b></center><BR />";
    
    		}else echo "<center><font color = 'red'><b>Email имеет неверный формат</b></font></center>";
    
    		}else echo "<center><b><font color = 'red'>Вы не подтвердили правила</font></b></center><BR />";
    	
    		}else echo "<center><font color = 'red'><b>Символы с картинки введены неверно</b></font></center>";
    
    	}
    	
    	
    ?>

    ШЕДЕВРАЛЬНО!

    proweber1, 09 Марта 2015

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function array_search_my($string,$array){
            foreach($array as $el){
                if($el==$string) return true;
            }
            return false;
        }

    in_array - не круто.

    fasterrr, 06 Марта 2015

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

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?
    
    // Код от блондинки
    $moya_peremennaya = 0;
    for ($moya_drugaya_peremennaya = 0; $moya_drugaya_peremennaya < 100; $moya_drugaya_peremennaya += $moya_drugaya_peremennaya) {
    
    $moya_peremennaya = $moya_drugaya_peremennaya; 
    // У меня не работало $moya_peremennaya = 100  
    
    }
    ?>

    Код одной блондинки

    mikamika83, 06 Марта 2015

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

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $save=$_POST['save'];
    	if ($save == 'yes') {
    		$cont=mysql_real_escape_string_ir($_POST['cont']);
    
    		@mysql_query("DELETE FROM ".$tables['_page']." WHERE id_kat='$id_kat'");
    		@mysql_query("INSERT INTO ".$tables['_page']." (id_kat, txt, dt) VALUES ('$id_kat', '$cont', NOW())");
    
    		deleteCache($id_kat, $cid, $insert_id, 'pages', $cont);
    		insertCache($id_kat, $cid, $insert_id, 'pages', $cont);
    	};

    Код из админки сайта, разработанного студией "Интернет Решения" (IRSite)

    Djiggo, 05 Марта 2015

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

    +157

    1. 1
    <button type="button" class="btn blue" style="float: left; margin-bottom: 20px; margin-left: 15px;" onclick="window.location = '/cars/car/update/id/<?php echo $model->id; ?>'"></button>

    Проект работает на основе Yii framework. Тут явное пренебрежение всеми концепциями и стандартами: от размещения css в html элементе, до не понимания, как устроен веб в целом -- почему window.location, а не обычный линк, для меня остается тайной. Искренне желаю взглянуть в лицо автору кода.

    creepy-code, 05 Марта 2015

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

    +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
    36. 36
    <?php
    class smth {
        protected static $MARK_UNDEFINED = 'Undefined';
        protected static $MARK_F  = 'ECTS-F';
        protected static $MARK_FX = 'ECTS-FX';
        protected static $MARK_E  = 'ECTS-E';
        protected static $MARK_D  = 'ECTS-D';
        protected static $MARK_C  = 'ECTS-C';
        protected static $MARK_B  = 'ECTS-B';
        protected static $MARK_A  = 'ECTS-A';
    
        protected function getECTSMark($rate, $current, $examRate)
        {
            $color = self::$MARK_UNDEFINED;
            if ($current > 0) {
                $percent = $rate / $current;
                if ($examRate !== NULL AND $examRate < 22)
                    $color = self::$MARK_FX;
                elseif ($percent < 0.31)
                    $color = self::$MARK_F;
                elseif ($percent < 0.60)
                    $color = self::$MARK_FX;
                elseif ($percent < 0.65)
                    $color = self::$MARK_E;
                elseif ($percent < 0.71)
                    $color = self::$MARK_D;
                elseif ($percent < 0.85)
                    $color = self::$MARK_C;
                elseif ($percent < 0.95)
                    $color = self::$MARK_B;
                else
                    $color = self::$MARK_A;
            }
            return $color;
        }
    }

    Сижу и думаю, как это вообще можно как-то.. отговнокодить? О_о

    xamgore, 05 Марта 2015

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

    +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
    public function action_ajaxlogin()
    	{
    		// Если запрос поступил не через AJAX, то шлем нахуй
    		if ( ! $this->request->is_ajax())
    		{
    			throw new HTTP_Exception_404(NULL);
    		}
    
    		// Вырубаем авто-рендер, ибо это хуев аякс запрос
    		$this->auto_render = false;
    
    		// Собираем информацию и пользователе в ёбанный массив
    		$user_data = $this->request->post('user_data');
    
    		// Если пользователь авторизирован, то заебато, и возвращаем статус 200!
    		if (Auth::instance()->login($user_data['username'], $user_data['password'], (bool) isset($user_data['remember_me'])))
    			return $this->response->status(200);
    
    		// Если нет, то "Вася, все хуйня! Давай по новой!"
    		return $this->response->status(400);
    	}
    
    	public function action_logout()
    	{
    		// Если запрос поступил не через AJAX, то шлем нахуй
    		if ( ! $this->request->is_ajax())
    		{
    			throw new HTTP_Exception_404(NULL);
    		}
    
    		// Вырубаем сучий авто-рендер, нахуй, в пизду блядь
    		$this->auto_render = false;
    
    		// Выходим из аккаунта, если вышли, то ахуенно, 200-ый статус)
    		if (Auth::instance()->logout())
    			return $this->response->status(200);
    
    		// Если все хуйня, то "Вася, давай по новой!"
    		return $this->response->status(400);
    	}

    Kohana фреймворк, и таких комментариев по проекту тьма :)

    proweber1, 03 Марта 2015

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (count($GRoleData['base']['forbid']) == 4 && isset($GRoleData['base']['forbid']['type']))
    							{
    								$temp = $GRoleData['base']['forbid'];
    								unset($GRoleData['base']['forbid']);
    								$GRoleData['base']['forbid'][0] = $temp;
    							}

    Класс преобразует XML в массив. Если элемент встречается более одного раза, то внутрь элемента суется еще один массив. В некоторых местах должен быть всегда массив, но если элемент один, класс положит его в корень. Код выше "исправляет" это. 4 - количество дочерей дочерей дочерей дочерей дочерей дочки родителя.

    DesmondHume, 02 Марта 2015

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