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

    +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
    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
    	include_once "database.php";
    	
    	$db = NewPDO();
    	$search = $db->prepare("SELECT w.wine_name as wine_name, w.year as wine_year, gv.variety as wine_variety, wn.winery_name as winery_name,r.region_name as region_name
    							FROM wine w
    							JOIN wine_variety wv ON w.wine_id = wv.wine_id
    							JOIN grape_variety gv ON wv.variety_id = gv.variety_id
    							JOIN winery wn ON w.winery_id = wn.winery_id JOIN region r ON wn.region_id = r.region_id
    							WHERE w.wine_name LIKE :in_wine_name AND wn.winery_name LIKE :in_winery_name AND r.region_name LIKE :in_region_name
    							ORDER BY w.wine_name ASC , w.year ASC , gv.variety ASC");
    	$wine_name = '%'.htmlspecialchars($_GET["wine"]).'%';
    	$winery_name = '%'.htmlspecialchars($_GET["winery"]).'%';
    	$region = '%'.htmlspecialchars($_GET["region"]).'%';
    	
    	$search->bindValue(':in_wine_name',$wine_name,PDO::PARAM_STR);
    	$search->bindValue(':in_winery_name',$winery_name,PDO::PARAM_STR);
    	$search->bindValue(':in_region_name',$region,PDO::PARAM_STR);
    	
    	$search->execute();
    	echo "<table>";
    	if ($search->columnCount() > 0)
    	{
    		echo "<tr align=\"center\">
    				<th>
    					Wine
    				</th>
    				<th>
    					Year
    				</th>
    				<th>
    					Variety
    				</th>
    				<th>
    					Winery
    				</th>
    				<th>
    					Region
    				</th>
    			  </tr>";
    		while($row = $search->fetch())
    		{
    			echo "<tr align=\"left\">
    					<td width=\"80\">
    						".$row["wine_name"]."
    					</td>
    					<td width=\"50\">
    						".$row["wine_year"]."
    					</td>
    					<td width=\"90\">
    						".$row["wine_variety"]."
    					</td>
    					<td width=\"230\">
    						".$row["winery_name"]."
    					</td>
    					<td>
    						".$row["region_name"]."
    					</td>
    				  </tr>";
    		}
    		echo "<tr>
    			  	<td colspan=\"5\">
    					".$search->rowCount()." records found matching your criteria.
    				</td>
    		      </tr>";
    	}
    	else
    	{
    		echo "<tr><td>No records match your search criteria</td></tr>";
    	}
    	echo "</table>";
    ?>

    Вот такой вот полнотекстовый поиск с выводом результата

    denis90, 23 Августа 2011

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

    +170

    1. 1
    include($b2bcontext_path."modules/"."costyl".".php");

    Самое интересное - инклюд безусловный. Он просто есть. Костыль - он такой костыль...

    xStream, 22 Августа 2011

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

    +150

    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
    // don't show any errors to end user
    error_reporting(0);
    	
    // error handler function
    function my_error_handler($errno, $errstr, $errfile, $errline) {
    		
        $date = date('d/M/Y:H:i:s O');
    		
        // \r\n for cozy look on win machines
        $error_str = "{$date} | [error] #{$errno}: {$errfile}:{$errline} {$errstr} \r\n";
    		
        // *.txt for win machines
        error_log($error_str, 3, 'C:\AppServ\www\error_log.txt');
    		
        // don't execute php internal error handler
        return true;
    }
    
    set_error_handler('my_error_handler');
    	
    // throws error
    echo date();

    Рубрика: Советы от Говнокода.
    В связи с #7594. Fatal errors не ловит (пхп, хуле), но их и не нужно показывать пользователю, все остальные ошибки пишем в лог на сервер.
    Ошибка в логе выглядит так:
    21/Aug/2011:16:50:52 +0000 | [error] #2: C:\AppServ\www\4.php:22 date() expects at least 1 parameter, 0 given

    Yurik, 21 Августа 2011

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

    +169

    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
    case"register": // если do=register, выводим регистрацию
         if (isset($login) && isset($pass1) && isset($pass2)) {
           if (!empty($login) && !empty($pass1) && !empty($pass2)) {
               $users=get_serial('users');
               $reallogin=$login;
               $login=md5(strtolower($login));
               if (!$users[$login]) {
                   if (strlen($pass1)>=4) {
                       $pass1=md5($pass1);
                       $pass2=md5($pass2);
                       if ($pass1==$pass2) {
                           $users[$login]=array();
                           $users[$login]['login']=htmlspecialchars($reallogin);
                           $users[$login]['pass']=$pass1;
                             set_serial($users,'users');
                             $error="Вы успешно зарегистрированны";
                             header("Refresh:3;url=".$_SERVER['PHP_SELF']);
                       }else {
                           $error="Ошибка: Пароли не совпадают";
                       }
                   }else {
                       $error="Ошибка: Минимальная длина пароля 4 символа";
                   }
               } else {
                   $error="Ошибка: Такой пользователь уже существует";
               }
           }else {
             $error="Ошибка: Обязательные поля нужно заполнить";
           }
         }

    invision70, 21 Августа 2011

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

    +161

    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
    // mysql_affected_rows порядка 200 записей
    while ($row_ex=mysql_fetch_array($res_ex)){
       $e_arr[trim(strtoupper($row_ex[0]))] = $row_ex[1];
        $exc .= "(".preg_replace("/(\*|\+|\(|\))/","\\\\$0",$row_ex[0])."(\ |\,|\<|\n|\.)+)|";
    }
    
    if ($exc){
        preg_match_all("/(".$exc.")(?!<\/a>)/i",$Tour['info'],$maches);
         $mach=array_unique($maches[0]);
         unset($maches);
         foreach ($mach as $e_name){
           $last_c=substr($e_name,-1);
           if ($last_c=="<" || $last_c=="," || $last_c==".") $e_name = substr($e_name,0,-1);
           if ($e_name[trim(strtoupper($e_name))])
           $Tour['info'] = preg_replace("/$e_name(?!.?<\/a>)/","<a href='".$e_arr[trim(strtoupper($e_name))]."\.html'>".$e_name."<\/a>",$Tour['info']);
         }
    
        preg_match_all("/(".$exc.")(?!<\/a>)/i",$Tour['info1'],$maches);
         $mach=array_unique($maches[0]);
         unset($maches);
         foreach ($mach as $e_name){
           $last_c=substr($e_name,-1);
           if ($last_c=="<" || $last_c=="," || $last_c==".") $e_name = substr($e_name,0,-1);
    $e_arr[trim(strtoupper($e_name))]."\.html'>".$e_name."<\/a>",$Tour['info1']);
         }
    
        preg_match_all("/(".$exc.")(?!<\/a>)/i",$Tour['info2'],$maches);
         $mach=array_unique($maches[0]);
         unset($maches);
         foreach ($mach as $e_name){
           $last_c=substr($e_name,-1);
           if ($last_c=="<" || $last_c=="," || $last_c==".") $e_name = substr($e_name,0,-1);
    $e_arr[trim(strtoupper($e_name))]."\.html'>".$e_name."<\/a>",$Tour['info2']);
         }
    
        preg_match_all("/(".$exc.")(?!<\/a>)/i",$Tour['shedulle'],$maches);
         $mach=array_unique($maches[0]);
         unset($maches);
         foreach ($mach as $e_name){
           $last_c=substr($e_name,-1);
           if ($last_c=="<" || $last_c=="," || $last_c==".") $e_name = substr($e_name,0,-1);
         }
    
      }

    http://govnokod.ru/7602 "Регулярки? Да, слышал!"
    Итого + 8-10 секунд на исполнение.

    govnoacc, 21 Августа 2011

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

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function grabb($str, $start, $end) {
            $start = strpos($str, $start) + strlen($start);
            $end = strpos($str, $end, $start);
            $result = substr($str, $start, $end - $start);
            flush();
    return $result;
    }

    Человек, писавший это явно хоть раз произносил фразу "Регулярки ? Нет, не слышал."

    Marker689, 21 Августа 2011

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

    +155

    1. 1
    2. 2
    $hour = date('H'); if ($hour>23){$hour=$hour-24;$day++;}
    echo "".$hour.":"."$minute."";

    Без комментариев...

    Marker689, 20 Августа 2011

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

    +146

    1. 1
    $now = strtotime(date('Y-m-d'));

    Ну нахрена!?

    Веб-Система "Социальная сеть" версия 4.0
    /engine/modules/content/afisha/afisha.php on line 41

    XyHb, 20 Августа 2011

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

    +149

    1. 1
    INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES (NULL, '0', '2011-08-19 00:00:00', '2011-08-19 00:00:00', '$content', '$title', '', 'publish', 'open', 'open', '', '$cpu', '', '', '2011-08-19 00:00:00', '2011-08-19 00:00:00', '', '0', '$cpu_num', '0', 'post', '', '0');

    maeln0r, 19 Августа 2011

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

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $used_vars = Array ("s_user","s_roles","s_error");
    
    	for ($i = 0; $i < sizeof($used_vars); $i++) {
    		eval ("unset(\$".$used_vars[$i].");");
    	}

    humbug, 19 Августа 2011

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