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

    +168

    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
    $action=$_GET["action"];
    ...
    if($action==1){ ... }
    if($action==2){ ... }
    ...
    if($action==9){ ... }
    if($action!=1 && 
       $action!=2 && 
       $action!=3 &&
       $action!=4 &&
       $action!=5 &&
       $action!=6 &&
       $action!=7 &&
       $action!=8 &&
       $action!=9) print("<html><body bgcolor=".'"#000000"'." color=".'"#FFFFFF"'."><div align=".'"center"'."><h1><b>Ошибка! Такой страницы нет!</b></h1></div><!--*copyright*--></body></html>");

    crazy code

    XyHb, 28 Июля 2010

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

    +167

    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
    <?php
    /*///////////////////////////////////////////////
    Эта функция инклюдит файл.
    Все, что этот файл отправляет на вывод,
    не уходит на вывод, а возвращется этой функция
    
    Для работы, функция использует функции ob, 
    которые работают с буфером, поэтому 
    использовать их для друхих целей нужно очень 
    аккуратно и только, если вы знаете, 
    как все это функционирует
    ///////////////////////////////////////////////*/
    
    function s_file ( /*string-путь к файлу*/ $path )
    {
        ob_start() ;              //Запускает буферизацию вывода 
        require ($path) ;         //Запускает файл по адрессу  
        return ob_get_clean () ;  //Возвращает содержимое буфера или FALSE при ошибке
    }
    
    ?>

    Berliner, 28 Июля 2010

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

    +169

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    public function Add()
    {
    $db->query ('DELETE FROM ' . $this->_table . ' WHERE clientId=' . $this->clientId . ' AND memberId=' . $this->userId);
    $db->query ('INSERT INTO ' . $this->_table . ' SET clientId=' . $this->clientId . ', memberId=' . $this->userId);
    return true;
    }

    без комментариев

    rtfm, 28 Июля 2010

    Комментарии (8)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. PHP / Говнокод #3784

    +166

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

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

    TiGR, 26 Июля 2010

    Комментарии (13)
  9. 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)
  10. 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)