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

    +163

    1. 1
    2. 2
    3. 3
    <?php
    namespace application;
    header('Content-Type: text/html; charset=windows-1251');

    Кто-то любит BDSM, а кто-то windows-1251

    Onotole, 17 Марта 2015

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

    +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
    // Код курильщика
       for ($i=1;$i<8;$i+=2){
       if($i==$row->ShipingTime) $result .="<option selected value='".$i."'>".$i."</option>";
       else $result .="<option value='".$i."'>".$i."</option>";
    
        if($i==7) {$i+=3;
         if($i==$row->ShipingTime) $result .="<option selected value='".$i."'>".$i."</option>";
         else $result .="<option value='".$i."'>".$i."</option>";
        }
        else {
         if($i==10) {
          $i+=4;
          if($i==$row->ShipingTime) $result .="<option selected value='".$i."'>".$i."</option>";
          else $result .="<option value='".$i."'>".$i."</option>";
         }
         else {
          for ($i=20;$i<45;$i+=10){
           if($i==$row->ShipingTime) $result .="<option selected value='".$i."'>".$i."</option>";
           else $result .="<option value='".$i."'>".$i."</option>";
           if($i==40){$i+=20;
            if($i==$row->ShipingTime) $result .="<option selected value='".$i."'>".$i."</option>";
            else $result .="<option value='".$i."'>".$i."</option>";
            $i+=30;
            if($i==$row->ShipingTime) $result .="<option selected value='".$i."'>".$i."</option>";
            else $result .="<option value='".$i."'>".$i."</option>";
           }
         }
        }
       }
    
    
    // Код здорового человека (провели рефакторинг)
    $ST_variants = array('1', '3', '5', '7', '10', '14', '20', '30' , '40', '60', '90');
    foreach ($ST_variants as $value) {
      print "<option ". ($value==$row->ShipingTime) ? 'selected' : '' ; ." value='".$value."'>".$value."</option>";
    }

    Заказчик хотел получить <select> со списком значений: '1', '3', '5', '7', '10', '14', '20', '30' , '40', '60', '90'...

    govnokoder2, 16 Марта 2015

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    for ($i=1;$i<=10;$i++) { 
    		  if(isset(${"imagenum".$i})) {
                         ....
                     }
    }

    И такое бывало

    sikamikanico, 15 Марта 2015

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

    +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
    <?php
    function rus_date($time_stamp){
            $date_time = date( "Y-m-d H:i:s",time() - 3600);
            $time_s = strtotime($date_time);
            $date_segodna = date( "Ymd",time() - 3600);
            
            $date_kisa = date( "Ymd",time() - 86400);
            
            $data_one_year = date( "Ymd",time() - 31536000);
            
            $date = date("Y-n-d H:i:s", $time_stamp);
            
            $date_segodna_items = date("Ymd", $time_stamp);
            
            $raznost = strtotime($date_time) - strtotime($date);
            
            $explode_two = explode(' ',$date);
            
            $explode = explode('-',$explode_two[0]);
            
            $explode_good = explode(':',$explode_two[1]);
            
            $month = array('янв','фев','март','апр','май','июнь','июль','авг','сен','окт','нояб','дек');
            
            $num = (int)$explode[1];
            $num = $num - 1;
            $mes = $month[$num];
            
            
            if($date_segodna == $date_segodna_items){
                if($date_segodna == date( "Ymd",$time_stamp)){
                    return 'Сегодня в '.$explode_good[0].':'.$explode_good[1];
                }
                else{
                    return 'Вчера в '.$explode_good[0].':'.$explode_good[1];
                }
            }
            elseif($date_kisa == $date_segodna_items){
                return 'Вчера в '.$explode_good[0].':'.$explode_good[1];
            }
            elseif($raznost >= 31536000){
                return $explode[2].' '.$mes.' '.$explode[0].' в '.$explode_good[0].':'.$explode_good[1];
            }
            elseif($raznost <= 31536000){
                return $explode[2].' '.$mes.' в '.$explode_good[0].':'.$explode_good[1];
            }
            else{
                return $explode[2].' '.$mes.' '.$explode[0].' в '.$explode_good[0].':'.$explode_good[1];
            }
        }
    rus_date(Если временая метка ровна 0) // вернет    ( 01 янв 1970 в 04:00 )
    rus_date(Сегодняшняя метка) // вернет     ( Сегодня в 04:00 )
    rus_date(Если временая метка из прошлого и прошлому больше 24 часов но меньше 48ч) // вернет     ( Вчера в 04:00 )
    rus_date(Если больше 2 дней ) // вернет такую дату     ( 04 дек в 04:00 )

    Форматирование времени просто подставить временную метку в функцию
    Го посмеемся вместе?

    gam0ra, 13 Марта 2015

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

    +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
    <?php
    
    error_reporting(E_ALL);
    require_once('project.php');
    $loader = new Twig_Loader_Filesystem('templates');
    $twig = new Twig_Environment($loader,
        array(
            'cache' => 'compilation_cache',
            'debug' => true
        )
    );
    $twig->addExtension(new Twig_Extension_Debug());
    $data='';
    $data .= summ('summa','zvit');
    $payments =getPayments();//tableM(getPayments());
    
    
    if (array_key_exists('go', $_REQUEST))
        {
        $go=$_REQUEST['go'];
        }
        else
        {
        $go='';
        }
    switch ($go) {
        case '':
            echo $twig->render('index.html',array('payments' => $payments)); ); //
            break;
        case 'addData':
            $form = showForm();
            echo "$form";
            break;
        case 'add':
            $data=$_POST['data'];
            $summa=$_POST['summa'];
            addDate($data,$summa);
            redirect('index.php');
            break;
        case 'delete':
            $id = $_GET['id'];
            delete($id);
            redirect('index.php');
            break;
    }

    vityapro, 13 Марта 2015

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

    +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
    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body background="money.jpg">
    <h1 align="center">Звіт по витратах</h1>
    
    <table align="center">';
    {% for item in payments['list'] %}
        <tr><td>{{ item['data']}}</td>
            <td>{{item['summa']}}</td>
            <td>{{item['id']}}</td>
            <td><button  onclick="window.location.href=index.php/?id={{item['id']}}&go=delete"><img src="del.gif" alt="Del"style="vertical-align: middle">  </button></td></tr>
    {% endfor %}
    
    </table>
    </br></br></br>
    <table align="center"><tr><td><button   onclick="window.location.href='index.php?go=addData'">
        <img src="add.png" alt="Add" style="vertical-align: middle">Додати новий запис </button></td></tr></table>
    </body>
    </html>

    vityapro, 13 Марта 2015

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

    +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
    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
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    <?php
    // define variables and set to empty values
    $fNameErr = $lNameErr = $passErr = $pconfErr = $bDayErr = $genderErr = $ageErr = $progErr = $emailErr = $websiteErr = "";
    $fname = $lname = $password = $passconfirm = $day = $month = $year = $email = $gender = $age = $plang = $email = $website = "";
    $validate = TRUE;
    
    if ($_SERVER["REQUEST_METHOD"] == "POST")
    {
      $fname = test_input($_POST["fname"]);
      $lname = test_input($_POST["lname"]);
      $password = test_input($_POST["password"]);
      $passconfirm = test_input($_POST["passconfirm"]);
      $day = test_input($_POST["day1"]);
      $month = test_input($_POST["month1"]);
      $year = test_input($_POST["year1"]);
      $email = test_input($_POST["email"]);
      $website = test_input($_POST["website"]);
    }
     
    function test_input($data)
    {
      $data = trim($data);
      $data = stripslashes($data);
      $data = htmlspecialchars($data);
      return $data;
    }
     
    if(!$_POST)
    {
      $validate = FALSE;
    }
     
     
    if ($_SERVER["REQUEST_METHOD"] == "POST")
    {
     
     
     
      //validation of forename
      if(!empty($_POST["fname"]))
      {
        if (!preg_match("/^[a-zA-Z '-]*$/", $fname))
        {
          $fNameErr = "Only letters, - , ' and whitespaces are allowed";
          $fname = "";
          $validate = FALSE;
        }
        else
        {
          $fname = test_input($_POST["fname"]);
        }
      }
      else
      {
        $fNameErr = "Forename is required";
        $validate = FALSE;
      }
     
      //validation of surname
      if (!empty($_POST["lname"]))
      {
        if (!preg_match("/^[a-zA-Z '-]*$/", $lname))
        {
          $lNameErr = "Only letters, - , ' and whitespaces are allowed";
          $lname = "";
          $validate = FALSE;
        }
        else
        {
          $lname = test_input($_POST['lname']);
        }
      }
      else
      {
        $lNameErr = "Last name is required";
        $validate = FALSE;
      }

    Только начал кодить на пхп, интересно мнение более опытных товарищей - можно ли подобное отнести к говнокоду/ быдлокоду?) просто были уже подобные комментарии относительно этого кода

    ragie, 13 Марта 2015

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

    +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
    /**
     * Дублирование пароля в поле CONFIRM_PASSWORD.
     */
    function removeConfirmPasswordField()
    {
        $arFields  = filter_input(INPUT_POST, 'REGISTER', FILTER_DEFAULT , FILTER_REQUIRE_ARRAY);
        if($arFields)
        {
            $arKeys = array_keys($arFields);
            $arNeedKeys = array('PASSWORD', 'CONFIRM_PASSWORD');
            if(count(array_intersect($arKeys, $arNeedKeys)) === count($arNeedKeys))
            {
                $_POST['REGISTER']['CONFIRM_PASSWORD'] = $_POST['REGISTER']['PASSWORD'];
                $_REQUEST['REGISTER']['CONFIRM_PASSWORD'] = $_REQUEST['REGISTER']['PASSWORD'];
            }
        }
    }
    
    AddEventHandler('main', 'OnBeforeProlog', 'removeConfirmPasswordField');

    Вот таким способом я дублирую значение поля ввода пароля в поле для его подтверждения...

    littlefuntik, 13 Марта 2015

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

    +159

    1. 1
    2. 2
    <button type="submit"  method="post" action="/vote-positive" class="like" name="<?=$model->numb_positive?>"></button>
                        <button type="submit"  method="post" action="vote-negative" class="dizlike" name="<?=$model->numb_positive?>"></button>

    Попытка обработать нажатие на кнопку - для системы рейтинга.

    qstd, 13 Марта 2015

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <?
    // ...
    preg_match('/^[0-9]{1,}$/', $value)     // positive integer
                            || (        // or negative integer
                                (substr($value, 0, 1) === '-')
                                && preg_match('/^[0-9]{1,}$/', substr($value, 1))
                            )
    
    ?>

    В битриксе так и не выучили регулярки..

    belukov, 12 Марта 2015

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