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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function ostatok($chislo1, $chislo2){
    	$delit=$chislo1/$chislo2;
    	$celoe=round($delit);
    	$ostatok=$chislo1-$chislo2*$celoe;
    	return $ostatok;
    }

    1. Всё можно было уместить в 1 строчку.
    2. Когда аффтору кода сказали о существовании функции fmod - он был немного в шоке.

    XyHb, 27 Июля 2010

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

    +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
    <?php
    $text  = '<td>   
      <img src="https://site/accounts/msh.gif"     alt="История веб-поиска">   
      </td>   
      <td style="font-size:83%"> '; 
    $beforeText = '<div>'; 
    $afterText = '</div>';
    
    $curPos = 0; 
    while(false !== $imgTagStartPos = stripos($text, '<img', $curPos)) 
    { 
        if(!ctype_space($text[$imgTagStartPos + 4])) 
        { 
            $curPos += $imgTagStartPos + 4; 
            continue; 
        } 
        $imgTagEndPos = stripos($text, '>', $imgTagStartPos + 5); 
        if(false === $imgTagEndPos) 
            break; 
        $imgTagLen = $imgTagEndPos + 1 - $imgTagStartPos; 
        $imgTag = substr($text, $imgTagStartPos, $imgTagLen); 
        $text = substr_replace($text, "{$beforeText}{$imgTag}{$afterText}", $imgTagStartPos, $imgTagLen); 
        $curPos = $imgTagEndPos + 1 + strlen($beforeText) + strlen($afterText); 
    }

    Замена всех "<img .*>" на "<div><img .*></div>". Взято с форума http://softtime.ru/forum/read.php?id_forum=1&id_theme=75199 , хотя ниже автор этого кода написал нормальный вариант с регэкпами.

    nikita2206, 27 Июля 2010

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

    +119

    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
    <?php
    session_start();
    @include("config.php");
    //Необходимо подключиться к БД
    $link = mysql_connect($DBSERVER, $DBUSER, $DBPASS)
    or die("Не могу подключиться" );
    // сделать $DB текущей базой данных
    mysql_select_db($DB, $link) or die ('Не могу выбрать БД');
    echo "<h2>Страница активации</h2>";
    $uniq = $_GET['id'];
    if($_GET['id']='') { echo "Вы зашли на страницу без кода подтверждения"; }
    elseif ($_GET['id'] != '') {
    $log = mysql_query("SELECT * FROM users WHERE uniq_id='$uniq'");
    $idi = mysql_query("SELECT status FROM users WHERE uniq_id='$uniq'");
    if (empry($log)) { echo "Такой профиль не существует"; }
    elseif(isset($log) AND $idi = 1) {echo "Данный профиль уже активирован"; }
    elseif(isset($log) AND $idi = 0) {
    $r=@mysql_query("UPDATE users SET status=1 WHERE status=0 AND uniq_id='$uniq' ");
    echo '<h2>Ваша учетная запись активирована.</h2><br> Теперь вы можете <a href="index.php">войти на сайт</a> используя данные указанные при регистрации';
    }
    }
    ?>

    Vasiliy, 27 Июля 2010

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

    +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
    include_once("xtemplate.class.php");
    include_once("functions.php");
    include_once("constants.php");
    include_once("db.php");
    
    $cat=(!empty($_GET['cat']))?(trim($_GET['cat'])):'index';
    
    switch($cat)
    {
        
        default:
    	  $buf=mysql_query("SELECT * FROM ".CAT_TABLE." WHERE cat_name='{$cat}' LIMIT 1",$db);
    	  $kol=mysql_num_rows($buf);
    	  if($kol!=0)
    	  {
    		$templ=new XTemplate("./style/static.xtpl");
    		$templ->assign('SITENAME',SITENAME);
    		$cat=mysql_fetch_assoc($buf);
    		mysql_freeresult($buf);
    		$page=(!empty($_GET['p']))?(trim($_GET['p'])):$cat['cat_start'];
    		
    		$buf=mysql_query("SELECT * FROM ".PAGES_TABLE." WHERE name='{$page}' AND cat={$cat['id']} LIMIT 1",$db);
    		$row=mysql_fetch_assoc($buf);
    		mysql_freeresult($buf);
    		
    		bb($row['content']);
    		$templ->assign('PAGE_TITLE',$row['title']);
    		$templ->assign('TITLE',$row['title']);
    		$templ->assign('CONTENT',$row['content']);
    		show_menu($cat['cat_name']);
    		out('static');
    	  }
    	  else
    	  {
    		header("Location: index.php");
    	  }
    }

    вот такая брутальная index страница попалась в переработку

    zloiia, 27 Июля 2010

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

    +166

    1. 1
    fclose(fopen($filename, 'a')); // создадим файл

    http://habrahabr.ru/company/Techart/blog/100189/#comment_3096756

    TiGR, 26 Июля 2010

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

    +159

    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
    $query = "
    	SELECT 	packet, info FROM packet ORDER BY info";
    $result = mysql_query($query);
    while ($row = mysql_fetch_array($result)) /* Тут очень много строк */
    {
    	/*Тут один очень жирный запрос*/
    	/* ... */
    	$res8 = mysql_query("SELECT date FROM analiz_packet2 WHERE date='$dnow' LIMIT 1");
    		
    	if (mysql_num_rows($res8) == 0)
    	{
    		echo "<td align=right>{$r[2]}</td>";
    	}
    	
    	echo "<td align=right>{$r[3]}</td>";
    	
    	$res2 = mysql_query("SELECT date FROM analiz_packet2 WHERE date='$dnow' LIMIT 1	");
    	/* Unknown date */
    	if (mysql_num_rows($res2) == 1)
    	{
    		/*Тут еще несколько SQL запросов*/
    	}
    	
    	/* ... */
    }

    Два ядра грузятся на 178% по данным top-а

    Werdn, 26 Июля 2010

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

    +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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    switch(count($Args)) {
             case 0:
                $Result = new $ClassName; break;
             case 1:
                $Result = new $ClassName($Args[0]); break;
             case 2:
                $Result = new $ClassName($Args[0], $Args[1]); break;
             case 3:
                $Result = new $ClassName($Args[0], $Args[1], $Args[2]); break;
             case 4:
                $Result = new $ClassName($Args[0], $Args[1], $Args[2], $Args[3]); break;
             case 5:
                $Result = new $ClassName($Args[0], $Args[1], $Args[2], $Args[3], $Args[4]); break;
             case 6:
                $Result = new $ClassName($Args[0], $Args[1], $Args[2], $Args[3], $Args[4], $Args[5]); break;
             case 7:
                $Result = new $ClassName($Args[0], $Args[1], $Args[2], $Args[3], $Args[4], $Args[5], $Args[6]); break;
             case 8:
                $Result = new $ClassName($Args[0], $Args[1], $Args[2], $Args[3], $Args[4], $Args[5], $Args[6], $Args[7]); break;
             default:
                throw new Exception();
          }

    Взято из форума Vanilla 2...

    И еще в одном файле подобное library/core/class.dispatcher.php (со строки 267).

    Александр Михалицын, 24 Июля 2010

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

    +144

    1. 1
    if ( function() == fales )

    опечатался))

    DmitryDick, 24 Июля 2010

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

    +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
    <?php
    
    class Control {
    
        const
        ENV_VAR = 'REQUEST_URI',
        DIR = _SCRIPT,
        MAIN = 'default',
        FILENAME_MASK = '%s.ctrl.php',
        CHAR = '.';
    
        private static function _parametrize(&$var) {
            static $params = null;
            (null === $params) && ($params =& self::$_params);
    
            ((is_numeric($var))
                    && (($params[] = $var) || 1)
                    || (self::CHAR === $var[0])
                            && (($params[] = substr($var, 1)) || 1)
                    || (false !== ($dot = strpos($var, self::CHAR)))
                            && (($params[substr($var, 0, $dot)] = substr($var, $dot + 1)) || 1))
                    && ($var = null);
        }
    
    
        public static function call($name, $_PARAMS = array()) {
            static $_TPL = null;
            (null === $_TPL) && ($_TPL =& $GLOBALS['_TPL']);
            static $_DATA = null;
            (null === $_DATA) && ($_DATA =& $GLOBALS['_DATA']);
            static $_MY = -1;
            (-1 === $_MY) && ($_MY =& $GLOBALS['_MY']);
    
            $filename = self::DIR . '/' . sprintf(self::FILENAME_MASK, basename($name));
            return (file_exists($filename) && include($filename));
        }
    }

    На каком языке раньше писал автор?? Где тут С++?
    Платили за каждый символ??

    doremidon, 23 Июля 2010

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

    +171

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php 
    
    $visitor = $_SERVER['REMOTE_ADDR']; 
    if (preg_match("/217.66.26.85/",$visitor))  
    {header('Location: http://site.ru/page.html');} 
    
    ?>

    http://forum.searchengines.ru/showpost.php?p=7312251&postcount=1

    GoodTalkBot, 22 Июля 2010

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