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

    +72

    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
    //1. файл
    ...
    else if ($elem->tagName == "Error") {
    		$errorCode = trim($elem->getElementsByTagName("Code")->item(0)->textContent);
    		$errorText = trim($elem->getElementsByTagName("Text")->item(0)->textContent);
    
    		var_dump('Fuck!!! Some Error:',$errorCode,$errorText);						
    }
    ...
    
    //2. файл, после получения результатов
    ...
    if(empty($result)){	
    	var_dump($sql);
    	die('Page fucking dead!!!!!');
    }
    ...
    
    //2. файл, 
    ...
    if(!file_exists($filePath)){	
    	var_dump('No file found???!!! Where if fucking CLASS file???!!!', $filePath);
    	return false;
    }
    ...
    
    //3. файл, 
    ...
    if (empty($fields['id'])){
    	var_dump('AAAAAAAAA. No ID again!!!', $fields, $sql);
    	return false;
    }
    ...
    
    //4. файл, 
    ...
    if (!$error){
    	if($this->debug)var_dump('Yeeeees!!! Work fine ^_^');
    	return true;
    }
    ...

    Наткнулся на один проектик. Не совсем говнокод, но программер был видать оочень емоциональный :)

    Edd, 25 Мая 2012

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

    +69

    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
    //проверка фамилии
    if ($tmp['fam'] == ""):
     $_SESSION["er_mes_registr"] = "Не заполнено поле `Фамилия`.";
     header ("Location: /register/");
     die();
    endif;
    if (strlen($tmp['fam'])>20):
     $_SESSION["er_mes_registr"] = "Длина фамилии не может быть более 20 букв.";
     header ("Location: /register/");
     die();
    endif; 
    
    //проверка имени
    if ($tmp['name'] == ""):
     $_SESSION["er_mes_registr"] = "Не заполнено поле `Имя`.";
     header ("Location: /register/");
     die();
    endif;
    if (strlen($tmp['name'])>20):
     $_SESSION["er_mes_registr"] = "Длина имени не может быть более 20 букв.";
     header ("Location: /register/");
     die();
    endif; 
    
    //проверка email
    if ($tmp['email'] == ""):
     $_SESSION["er_mes_registr"] = "E-mail не может быть пустым!";
     header ("Location: ".$_SERVER['HTTP_REFERER']);
     die();
    endif;
    if (!ereg("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}\$",$tmp['email'])):
     $_SESSION["er_mes_registr"] = "Неверно указан e-mail!";
     header ("Location: ".$_SERVER['HTTP_REFERER']);
     die();
    endif;

    Правильная валидация...

    MAXakaWIZARD, 25 Мая 2012

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

    +58

    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
    <?php if ( $poll ) : ?>
    	<h2>Опрос: <?php echo $poll->getTitle(); ?></h2>
    	
    	<?php $count = $poll->votes->count(); ?>
    	
    	<div>Всего ответивших: <?php echo $count; ?></div>
    	
    	<?php if ( $sf_user->isAuthenticated() ) : ?>
    		
    		<?php if ( !$poll->isVote( $sf_user->getGuardUser()->getId() ) ) : ?>
    			
    			<?php foreach ( $poll->answers as $answer ) : ?>
    				<div><?php echo link_to( $answer->getTitle(), 'poll_vote', array( 'poll' => $poll->getId(), 'answer' => $answer->getId() ) ); ?></div>
    			<?php endforeach; ?>
    			
    		<?php else : ?>
    			
    			<?php foreach ( $poll->answers as $answer ) : ?>
    				<div><?php echo $answer->getTitle(); ?> ($count / <?php echo $answer->getPercent( $count ); ?>%)</div>
    			<?php endforeach; ?>
    			
    		<?php endif; ?>
    		
    	<?php else : ?>
    		
    		<?php foreach ( $poll->answers as $answer ) : ?>
    			<div><?php echo $answer->getTitle(); ?></div>
    		<?php endforeach; ?>
    		
    		<div>Что бы выбрать вариант ответа, необходимо войти.</div>
    		
    	<?php endif; ?>
    	
    <?php endif; ?>

    Пал выбор, делать проверку, голосовал пользователь или нет в цикле и выводить соответствующую инфу или сделать проверку и использовать два разных цикла в разных ветках

    psycho-coder, 24 Мая 2012

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

    +139

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    a = 0;
    if (a == 0) {
    } else {
    b = a;
    }

    GggTtt, 23 Мая 2012

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

    +97

    1. 1
    $date_sys=date("20y-m-d");

    Код из Марокко. Действительно, зачем юзать Y-m-d, если Y = 20y.

    howl, 23 Мая 2012

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

    +80

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    // Для очень важных целей извлекаем текущую дату на MSSQL сервере
    $d=mssql_query("SELECT getdate()");
    $dattime=mssql_fetch_array($d);
    
    // А теперь внимание. Вставляем полученную в предыдущем запросе дату в новую запись
    $result="INSERT INTO lgotrivia_gotrivia_game (dateTime, dateTimeIphone, gamemode, playerid, scores, phoneid, app_id)
                                                                 VALUES ('".$dattime[0]."','".$datetime_iphone."', '".$gamemode."', '".$playerid."', '".$scores."', '".$phoneid."', '".$appid."')";
    
    $res=mssql_query($result);

    По каким-то причинам стало не модно в INSERT запросах использовать вызов GETDATE() или CURRENT_TIMESTAMP. Через PHP прослойку ведь куда круче. Видимо таким ребятам тоже платят за строчки кода.

    SunnyMagadan, 23 Мая 2012

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

    +74

    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
    # Определение IP адреса
    	static public function ip() {
    		
    		# Список возможных заголовков для получения ip адреса
    		$Sip 					= array();
    		$Sip['REMOTE_ADDR'] 			= getenv('REMOTE_ADDR');
    		$Sip['HTTP_FORWARDED_FOR'] 		= getenv('HTTP_FORWARDED_FOR');
    		$Sip['HTTP_X_FORWARDED_FOR'] 	= getenv('HTTP_X_FORWARDED_FOR');
    		$Sip['HTTP_X_COMING_FROM'] 	= getenv('HTTP_X_COMING_FROM');
    		$Sip['HTTP_VIA'] 			= getenv('HTTP_VIA');
    		$Sip['HTTP_XROXY_CONNECTION'] 	= getenv('HTTP_XROXY_CONNECTION');
    		$Sip['HTTP_CLIENT_IP'] 			= getenv('HTTP_CLIENT_IP');
    		$Sip['Unknow'] 				= '0.0.0.0';
    		
    		# Выбор найденного ip адреса
    		if(isset($Sip['REMOTE_ADDR'])) {
    			$Rip = $Sip['REMOTE_ADDR'];
    		} else if(isset($Sip['HTTP_FORWARDED_FOR'])) {
    			$Rip = $Sip['HTTP_FORWARDED_FOR'];
    		} else if(isset($Sip['HTTP_X_FORWARDED_FOR'])) {
    			$Rip = $Sip['HTTP_X_FORWARDED_FOR'];
    		} else if(isset($Sip['HTTP_X_COMING_FROM'])) {
    			$Rip = $Sip['HTTP_X_COMING_FROM'];
    		} else if(isset($Sip['HTTP_VIA'])) {
    			$Rip = $Sip['HTTP_VIA'];
    		} else if(isset($Sip['HTTP_XROXY_CONNECTION'])) {
    			$Rip = $Sip['HTTP_XROXY_CONNECTION'];
    		} else if(isset($Sip['HTTP_CLIENT_IP'])) {
    			$Rip = $Sip['HTTP_CLIENT_IP'];
    		} else {
    			$Rip = '0.0.0.0';
    		}
    		
    		# Валидация ip адреса
    		# Получение из секций массив
    		$ARip = explode( '.', $Rip );
    		
    		# Пересборка ip адреса
    		$RARip = array(0 => NULL, 1 => NULL, 2 => NULL, 3 => NULL);
    		for($n = 0; $n < 10; $n++) {
    			$RARip[0] .= isset( $ARip[0]{$n} ) ? $ARip[0]{$n} : NULL;
    			$RARip[1] .= isset( $ARip[1]{$n} ) ? $ARip[1]{$n} : NULL;
    			$RARip[2] .= isset( $ARip[2]{$n} ) ? $ARip[2]{$n} : NULL;
    			$RARip[3] .= isset( $ARip[3]{$n} ) ? $ARip[3]{$n} : NULL;
    		}
    		$BRip = substr( (int) $RARip[0], 0, 3 ) . '.' . substr( (int) $RARip[1], 0, 3 ) . '.' . substr( (int) $RARip[2], 0, 3 ) . '.' . substr( (int) $RARip[3], 0, 3 );
    		
    		# Возвращение пересобранного ip адреса
    		return $BRip;
    	}

    Не столько — «Г», сколько — «Извращение»...
    Улыбнуло имя переменной — $Rip;
    А раньше этот код был суровее — exit( $string ); в случаи не соответствия...

    nethak, 22 Мая 2012

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

    +69

    1. 1
    2. 2
    3. 3
    4. 4
    function all_sorting(
        $ids, //!< Массив ID элемента в карте сайта
        $_POST //!< Значения сортировки элементов
    ) {

    Определение локальной переменной с именем суперглобального массива вызывает ошибку "Fatal error: Cannot re-assign auto-global variable _POST in" в PHP 5.4

    Lblss, 22 Мая 2012

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

    +73

    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
    public static function ParseContainer($s,$be,$en,$cb,$ret_beg=false,$re=false)
    	{
    		if(!is_callable($cb))
    			return$s;
    		$bl=strlen($be);
    		$el=strlen($en);
    		for(;;)
    		{
    			if(false===$bp=strpos($s,$be) or false===$ep=strpos($s,$en,$bp+1+$bl))
    				break;
    			$brp=strrpos(substr($s,0,$ep-$bp+1),$be);
    			if($brp>$bp)
    				$bp=$brp;
    			$ns=substr($s,$bp+($ret_beg ? 0 : $bl),$ep-$bp-($ret_beg ? 0 : $bl)+($re ? $el : 0));
    			$ns=call_user_func($cb,$ns);
    			$s=substr_replace($s,$ns,$bp,$ep-$bp+$el);
    		}
    		return$s;
    	}

    T_ENGINE, 22 Мая 2012

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

    +89

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <?php
    /* Посоветовали делать так, чтобы решить проблемы с выводом на страницу чисел. Всё зависло */
    $x=0;
    echo "Пожалуйста, подождите 1 минуту. Сейчас напечатаем";
    while ($x++) echo $x."_";
    ?>

    Хм... Что-то тут не так.

    a_e, 21 Мая 2012

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