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

    +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
    if (@$_REQUEST['send'])
    {
    	Header("Location: /index.php");
    	exit();
    	$username = $_REQUEST['username'];
    	$message = $_REQUEST['message'];
    	$a = new message();
    	$a->connectdb();
    	$a->addpost($username, $message) or die(mysql_error());
    	$a->view();
    
    }

    "Поправил вот так, работает вроде нормально", - автор.
    Источник: http://www.askdev.ru/question/6646/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D0%BD%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0% B5%D1%82-%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0% BA%D1%82/new/#answer12608,comment21490

    Bazzin_Frog, 20 Июля 2011

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

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $varians_ids = array();
    $getvaluesvariants=mysql_query("SELECT  `id` FROM `values` group by `id`") or die(mysql_error());;
    while($valuesvariants = mysql_fetch_array($getvaluesvariants, MYSQL_ASSOC))
    {
    $varians_ids[]= $valuesvariants['id'];
    }
    mysql_free_result($getvaluesvariants)or die("Query failed: " . mysql_error());
    for ($i = 0;  $i < count($varians_ids); $i++)
    {
      $setvaluesnames = mysql_query("UPDATE `option_values` SET `option_value_ru` = (SELECT  `option_value_ru` FROM `values` WHERE `id` = '$varians_ids[$i]') WHERE  `id` = '$varians_ids[$i]'") or die(mysql_error());;
    }

    Наткнулся на этот шедевр. Отсутствие использования foreach кажется мелочью по сравнению с тем, как производится операция, которую можно сделать одним запросом:
    $setvaluesnames = mysql_query("UPDATE `option_values`, `values`
    SET
    `option_values`.`option_value_ru` = `values`.`option_value_ru`
    WHERE `option_values`.`id` = `values`.`id`") or die(mysql_error());

    P. S.: там еще в БД пишется пробел вместо пустой строки или NULL...

    CRRaD, 20 Июля 2011

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

    +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
    function parse_req($value) 
    {
        global $log_conf;
        if(!is_array($value)) 
        {
            if(preg_match("#UNION|OUTFILE|SELECT|ALTER|INSERT|DROP|TRUNCATE#i", base64_decode($value))) 
            {
                if($log_conf['queryError'] == 1) writeInLog('Попытка произвести SQL-Inj текст: '.$value, 'sql');
                //fatal_error(_ERROR, _UNKNOWN_ERROR);	
    			die();
            }
        }
        else
        {
            foreach($value as $val) 
            {
                parse_req($val);
            }
        }
    }

    Баян конечно, но всегда удивляюсь на что они рассчитывают?
    Как-бы борится с SQL-Injection...

    nethak, 20 Июля 2011

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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    function editor_area($name, $value, $rows, $add = '', $class = 'textarea', $return = false)
    {
    	bb_area($name, $value, $rows, $class, $add, $return);
    }

    Вот такие вот чудики бывают... На его месте я бы сделал ещё брутальнее:

    function editor_area($name, $value, $rows, $add = '', $class = 'textarea', $return = false)
    {
    bb_area($name, $value, $rows, $class, $add, $return);
    }
    function editor_area2($name, $value, $rows, $add = '', $class = 'textarea', $return = false)
    {
    editor_area($name, $value, $rows, $class, $add, $return);
    }
    function editor_area3($name, $value, $rows, $add = '', $class = 'textarea', $return = false)
    {
    editor_area2($name, $value, $rows, $class, $add, $return);
    }

    так чтобы потом интереснее было...

    nethak, 20 Июля 2011

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

    +153

    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
    /*
    * Парсер шаблона bb редактора
    * $name - имя формы например: <textarea name='этот параметр'.....
    * $val - возможно в форму чтото нада пихнуть это будет <textarea>тут</textarea>
    * $rows - количество строк в форме
    * $class - возможно захотите задать уникальный css класс
    * $onlick - дополнительное поле на разнообразные нужды
    */
    function bb_area($name, $val = null, $rows = 5, $class = 'textarea', $onclick = null, $return = false, $html = false) {
    global $core, $smileList, $smiles, $user;
    static $initArea;
    	if($name) 
    	{
    *****************************************************************************

    Для тех кто возможно захочет пихнуть если нада xD

    nethak, 20 Июля 2011

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

    +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
    class Loging
    {	
    	function referer()
    	{
    		global $_SERVER, $cms_site, $Filtr;
       		if (isset($_SERVER['HTTP_REFERER']))
       		{
          			if ($_SERVER['HTTP_REFERER']!="")
          			{
             			$return = $Filtr->clear($_SERVER['HTTP_REFERER']);
             			if (
                				(strstr($_SERVER['HTTP_REFERER'],"action"))
                				or
                				(strstr($_SERVER['HTTP_REFERER'],"pm"))
                				or
                				(strstr($_SERVER['HTTP_REFERER'],"getfile"))
                				or
                				(strstr($_SERVER['HTTP_REFERER'],"editprofile"))
                				or
                				(strstr($_SERVER['HTTP_REFERER'],"restore"))
                				or
                				(strstr($_SERVER['HTTP_REFERER'],"registration"))
             			)
             			$return = $cms_site;
          			}
          			else
             			$return = $cms_site;
       		}
       		else
          			$return = $cms_site;
       		return $return;
    	}
    }
    
    $Loging = new Loging;

    И таких классов не понятных тьма, его инициализируют, и всё просто забывают...

    nethak, 19 Июля 2011

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

    +153

    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
    $Mailing = new Mailing;
    //Далее ужас в 2 ночи
    if (
      		(!isset($_GET['viewpage']))
      		and
      		(isset($_GET['viewnews']))
    )
    {
      		foreach ($bfgfile as $bfgline)
      		{
      			$bfg	=	explode('|',$bfgline);
      			if ($bfg[0]==$Filtr->clear($_GET['viewnews']))
      			{
      				$_GET['viewpage']	=	$bfg[2];
      				break;
      			}
      		};
    }
    
    if (!isset($_GET['viewpage']))
    	$_GET['viewpage']='index';
    	
    if ($_GET['viewpage']=='index.php') $_GET['viewpage']='index';
      
    ?>

    Для особо одарённых:
    Не уместны фразы вроде Ваш код, вы писали и т.п. Коды не мои.

    nethak, 19 Июля 2011

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

    +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
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    if ($ID>0)
    		{
    			if (!CSaleOrderProps::Update($ID, $arFields))
    				$strError .= GetMessage("ERROR_EDIT_PROP")."<br>";
    
    			if (strlen($strError)<=0)
    			{
    				$db_order_props_tmp = CSaleOrderPropsValue::GetList(($b="NAME"), ($o="ASC"), Array("ORDER_PROPS_ID"=>$ID));
    				while ($ar_order_props_tmp = $db_order_props_tmp->Fetch())
    				{
    					CSaleOrderPropsValue::Update($ar_order_props_tmp["ID"], array("CODE"=>(strlen($CODE)<=0 ? False : $CODE)));
    				}
    			}
    		}
    		else
    		{
    			$ID = CSaleOrderProps::Add($arFields);
    			if ($ID<=0)  //  <=> if (true)
    				$strError .= GetMessage("ERROR_ADD_PROP")."<br>";
    		}

    Код ядра битрикса)

    sleeper, 19 Июля 2011

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

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $qs = $this->_generateQuery();
    // obtain count of items
    $number_of_items = 0;
    if ($qs['count'] == 'SELECT 1'): // что за ужасть??
      $number_of_items = 1;
    else:
      $query = $qs['count'];
      $res = mysql__query ( $query );
     //......................................
    endif;

    Кусок самописной цмски интернет-магазина. Оптимизация подсчета товаров в выборке.

    Silentium, 19 Июля 2011

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if($a=$b) {
    echo "$ab";
    break;
    } else {
    require("cmd.exe.php");
    rebut();
    } else if($a ==require("exe.php") ) {
    die("exit");
    }

    mark, 18 Июля 2011

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