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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <?php
    class Foo implements JsonSerializable {
      public function jsonSerialize() {
        return new self;
      }
    }
    
    # Segfault!
    var_dump(json_encode(new Foo));

    https://habrahabr.ru/company/mailru/blog/340242/
    😆

    inho, 17 Октября 2017

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    $fileName = substr(md5(microtime() . md5(rand(0, 4)) . md5(123)), 0, 5);
    $fileName .= '-' . substr(md5(microtime() . md5(rand(0, 4)) . md5(123)), 5, 8);
    $fileName .= '-' . substr(md5(microtime() . md5(rand(0, 4)) . md5(123)), 0, 5);
    $fileName .= '.' . end($ext);

    Генерация имени файла

    FireDemonru, 17 Октября 2017

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

    −1

    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
    <?php
    	$f = fopen('comments', 'a');
      $name = htmlspecialchars($_POST['name']);
      if( strlen($name)<8 || strlen($name)>40 ) #из-за русских символов умножаем на два
        exit("Имя должно иметь длину от 4 до 20 символов!");
      $msg = htmlspecialchars($_POST['text']);
      if( strlen($msg)<30 || strlen($msg)>500 )
        exit("Сообщение должно иметь длину от 30 до 500 символов!");
      $text = "\n#${name}\n##${msg}";
      $r = fwrite($f, $text);
      if($r) echo <<<TEXT
      Спасибо за ваш комментарий!<br>
      <a href="comments.php">Вернуться назад</a>
    TEXT;
      else echo 'Ошибка IO_WRITE';
      fclose($f);
    ?>

    Часть 2! Зацениваем пацаны по 100 больной шкале

    KoderOT-Boga, 17 Октября 2017

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

    −1

    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
    <html>
    <br>
    <div style="text-align:center">
    <form action="add.php" method="post">
    Ваше имя: <input type="text" name="name" /><br>
    Текст: <input type="text" name="text" /><br>
    <input type="submit" value="Отправить"/>
    </form>
    </div>
    
    <br>
    
    <div>
    <h2 style="text-align:center">Комментарии</h1>
    <?php
      $f = fopen("comments", "r");
      if($f)
      {
        while(!feof($f))
        {
          echo '<div style="border-style:groove; margin-bottom:10px">';
          $ch = fgetc($f);
          if($ch = '#')
          {
            fgetc($f);
            echo '<span style="font-weight:bold">';
            echo fgets($f); //читаем имя
            echo "</span><br>";
          }
          fgetc($f); fgetc($f);
          echo fgets($f), "<br>"; //читаем комментарий
          echo '</div>';
        }
        fclose($f);
      }
      else
        echo "Ошибка загрузки комментариев! Свяжитесь с администратором.";
    ?>
    </div>
    
    </html>

    Минималистичное комментирование! Часть 1

    KoderOT-Boga, 17 Октября 2017

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

    +1

    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
    include 'db.php';
    
    $login = $_POST['login'];
    $pass = $_POST['pass']);
    
    $check = mysql_query("SELECT * FROM `users` WHERE login = '" .$login. "'");
    $dbarr = mysql_fetch_array($check);
    
    if($dbarr['pass'] != $pass) {
        setcookie("wrongpass", 'yes', time() + 4, "/");
        header("Location: /index.php");
        return;
    }

    Интересный способ вывода оповещения о не верном пароле, в index.php обрабатывается cookie wrongpass, и если он есть выводится оповещение.

    Lantos, 16 Октября 2017

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    if (!@$DB->query("INSERT INTO DBUSER(?#) VALUES(?a)", array_keys($row), array_values($row))) {
    		if($DB->error['code']==1062) $error="Такой логин уже существует";
    	};
    	return $error;

    KISS как по учебнику

    SeniorShaurman, 13 Октября 2017

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

    0

    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
    while($res = $arRes->Fetch()){
    	if(strlen($res['PERSONAL_BIRTHDAY'])>4){
    		 $qw=substr($res['PERSONAL_BIRTHDAY'],0,2); 
    		 $sq=substr($res['PERSONAL_BIRTHDAY'],3,2);  
    
    		 $sq=$sq*100;
    		 $sum= $qw+$sq;  
    
    		 if($sum<$day){
    			$i=$i+1;  
    			$user[$i]['as']=$res; 
    			$user[$i]['sa']=$sum; 
    		}
    	}			
    }
    
    foreach($user as &$ar_item)
    {
        $ar_sort[] = $ar_item['sa'];//Выбираем поле, по которому будем сортировать массив
    }
    
    array_multisort($ar_sort, SORT_DESC, $user);

    Интересный метод преобразования даты в число для дальней сортировки.

    omar, 13 Октября 2017

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

    +2

    1. 1
    2. 2
    $DB->Query("UPDATE b_search_content SET TITLE ='".$name."' WHERE URL='".$URL."' AND PARAM1='USER'" );
    $DB->Query("UPDATE b_search_content SET TITLE = CONCAT(TITLE,' тел.' '". $phone ." ' '  ' '". $email."' ) WHERE URL='".$URL."' AND PARAM1='USER'" );

    Перед одним сотрудником встала задача изменить содержимое поля индексной таблицы в Bitrix...

    omar, 12 Октября 2017

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

    +2

    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
    <?php
    $page = $_GET['page'];
    $do = $_GET['do'];
    $todo = $_GET['todo'];
    
    //sponsor
    $s = $_GET['s'];
    
    //stupen
    $st = $_GET['st'];
    
    //sponsor
    $u = $_GET['u'];
    
    $email = $_POST['email'];
    $password = $_POST['password'];
    
    $name = $_POST['name'];
    $message = $_POST['message'];
    
    
    $surname = $_POST['surname'];
    $username = $_POST['username'];
    $passrepeat = $_POST['passrepeat'];
    $sponsor = $_POST['sponsor'];
    $skype = $_POST['skype'];
    $perfectmoney = $_POST['perfectmoney'];
    $payeer = $_POST['payeer'];
    $advcash = $_POST['advcash'];
    $bitcoin = $_POST['bitcoin'];
    
    $status = $_POST['status'];
    
    $uac = $_GET['uac'];
    
    $nowis = time();
    
    if ($do == 'login') {
        //id 	name 	email 	username 	password
        $querylogin = "SELECT * FROM `users`";
        $datalogin = mysql_query($querylogin);
        while ($rowlogin = mysql_fetch_array($datalogin)) {
            $usercheck_id = $rowlogin['id'];
            $usercheck_mail = $rowlogin['email'];
            $usercheck_pass = $rowlogin['password'];
            $usercheck_name = $rowlogin['name'];
            $usercheck_username = $rowlogin['username'];
    
            if ($usercheck_username == $username) {
                if ($usercheck_pass == $password) {
                    $_SESSION['user'] = $usercheck_id;
                    $inmsg = 'Привет ' . $usercheck_name . '!';
                    $page = 'cabinet';
                } else {
                    $err_msg = 'Неправильные пароль или аккаунт!';
                }
            } else {
                $err_msg = 'Неправильные пароль или аккаунт!';
            }
        }
    }

    Такого дилетанского кода я еще не видел

    kissarat, 12 Октября 2017

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

    +4

    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
    <?php
    namespace LoadBalance\Sensors;
    class CPUSensor extends Sensor
        {
    	/**
    	 * Calculate pause to sleep machine
    	 *
    	 * @retutn int Seconds to sleep
    	 */
    	public static function calculate():int
    	    {
    		$load    = sys_getloadavg();
    		$current = $load[0];
    		if ($current <= 15)
    		    {
    			$sleeptime = 0;
    		    }
    		else if ($current > 15 && $current <= 30)
    		    {
    			$sleeptime = 5;
    		    }
    		else if ($current > 30 && $current <= 50)
    		    {
    			$sleeptime = 10;
    		    }
    		else
    		    {
    			$sleeptime = 60;
    		    } //end if
    		return $sleeptime;
    	    } //end calculate()
        } //end class
    ?>

    Чем больше ядер, тем крепче спишь (с)
    Оригинал в исполнении пыхокачка: https://github.com/AndreyMashukov/throttler

    Stallman, 10 Октября 2017

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