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

    0

    1. 1
    $result = array_filter($paths,  fn($v) => in_array($v, $names));

    В PHP 7.4 войдут стрелочные функции.
    https://habr.com/ru/post/450544/

    _PHP_, 06 Мая 2019

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

    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
    function getFlatsParametrsById(int $id) {
            //...
    
            $cache_time = 3600 * 24 * 31;
            $postId = substr($id, -2);
            $cache_time += 720 * $postId;
    
            //...
    
            $obCache = new CPHPCache;
            if ($obCache->InitCache($cache_time, $cache_id, $cache_dir)) {
    
            //...

    И да, почему бы не вычислять время жизни кэша по его ИДшнику?

    gridark, 30 Апреля 2019

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

    +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
    function check($str)
        {
            $str = htmlentities($str, ENT_QUOTES, 'UTF-8');
            $str = str_replace("'", "'", $str);
            $str = str_replace("rn", "<br/>", $str);
            $str = strtr($str, array(chr("0") => "", chr("1") => "", chr("2") => "", chr("3") => "", chr("4") => "", chr("5") => "", chr("6") => "", chr("7") => "", chr("8") => "", chr("9") => "", chr("10") => "", chr("11") => "", chr("12") => "", chr
            ("13") => "", chr("14") => "", chr("15") => "", chr("16") => "", chr("17") => "", chr("18") => "", chr("19") => "", chr("20") => "", chr("21") => "", chr("22") => "", chr("23") => "", chr("24") => "", chr("25") => "", chr("26") => "", chr("27") =>
            "", chr("28") => "", chr("29") => "", chr("30") => "", chr("31") => ""));
            $str = str_replace('\', "\", $str);
            $str = str_replace("|", "I", $str);
            $str = str_replace("||", "I", $str);
            $str = str_replace("/\$/", "$", $str);
            $str = str_replace("[l]http://", "[l]", $str);
            $str = str_replace("[l] http://", "[l]", $str);
            $str = mysql_real_escape_string($str);
            return $str;
        }

    Функция check от моего предыдущего поста

    eskrano, 27 Апреля 2019

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

    +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
    <?php
        define('_SECUR_GAMES', 1);
        $rootpath = '../';
        require_once '../includes/start.php';
        require_once '../includes/function.php';
        require_once '../includes/header.php';
    if($level >0 AND $fr_id!=0)
    {
    $header='alliance';
    mysql_query("UPDATE `mesto` SET `place` = '".check(htmlspecialchars(stripslashes(addslashes(strip_tags(mysql_real_escape_string(trim($header)))))))."' WHERE `uid`=".check(htmlspecialchars(stripslashes(addslashes(strip_tags(mysql_real_escape_string(trim($use_id)))))))."");
    }
    $fr=check(htmlspecialchars(stripslashes(addslashes(strip_tags(mysql_real_escape_string(trim($_GET['f'])))))));
    $q = mysql_query("SELECT * FROM `fractions` WHERE `id`='".check(htmlspecialchars(stripslashes(addslashes(strip_tags(mysql_real_escape_string(trim($fr)))))))."'");
    $f = mysql_fetch_array($q);
    $ucount = mysql_result(mysql_query("SELECT COUNT(*) FROM `fractions_users` WHERE `uid`='".check(htmlspecialchars(stripslashes(addslashes(strip_tags(mysql_real_escape_string(trim($use_id)))))))."' AND `fid`='".check(htmlspecialchars(stripslashes(addslashes(strip_tags(mysql_real_escape_string(trim($f['id'])))))))."';"), 0);
    $fadm = mysql_result(mysql_query("SELECT COUNT(*) FROM `fractions_users` WHERE `uid`='".check(htmlspecialchars(stripslashes(addslashes(strip_tags(mysql_real_escape_string(trim($use_id)))))))."' AND `fid`='".check(htmlspecialchars(stripslashes(addslashes(strip_tags(mysql_real_escape_string(trim($f['id'])))))))."' AND `adm`=1;"), 0);
        if($game==0 OR $level==0 OR $ban==1){
               echo "<title>Доступ закрыт!!!</title>";

    @since 2019

    eskrano, 25 Апреля 2019

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

    0

    1. 1
    2. 2
    3. 3
    https://habr.com/ru/post/448810/
    Уж слишком анскильно )))
    Не удивлюсь, если сам Юра - автор статьи.

    AHCKuJlbHblu_nemyx, 20 Апреля 2019

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

    −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
    <?php $connection = mysqli_connect ('localhost','root','','userlistdb'); 
           
    
    
    // Проверка, если это общий клиент
    if (!empty($_SERVER['HTTP_CLIENT_IP'])){
      $ip=$_SERVER['HTTP_CLIENT_IP'];
    //Is it a proxy address
    }elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
      $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
    }else{
      $ip=$_SERVER['REMOTE_ADDR'];
    }
    // Значение $ ip в этот момент будет выглядеть примерно так: "192.0.34.166"
    $ip = ip2long($ip);
    // Теперь $ ip будет выглядеть примерно так: 1073732954
    
    
    $sql = "INSERT INTO user(ip) VALUES('$ip')";
    $dbQuery = mysql_query($sql,$dbLink);
    
    
    
        $stmt = $dbh->prepare("INSERT INTO usertbl(ip) VALUES(ip)");
        $stmt->bindParam(1, $ip);
    
        $stmt->execute();
    ?>
    выдаёт ошибку:
    Примечание : Не определено переменная: DBLink в C: \ XAMPP \ HTDOCS \ офсетные \ testip.php на линии 21 
    
    Внимание : mysql_query () ожидает параметр 2 , чтобы быть ресурсом, приведены в нуль C: \ XAMPP \ HTDOCS \ кормили \ testip.php на строка 21 
    
    Примечание : неопределенная переменная: dbh в C: \ xampp \ htdocs \ fed \ testip.php в строке 25 
    
    Фатальная ошибка : вызов функции-члена prepare () для null в C: \ xampp \ htdocs \ fed \ testip.php на линии 25
    
    $dbQuery = mysql_query($sql,$dbLink);
    
    $stmt = $dbh->prepare("INSERT INTO usertbl(ip) VALUES(ip)");

    Кто знает как записать IP из формы и сохранить в базу даных MySQL

    arts, 18 Апреля 2019

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

    −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
    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
    78. 78
    <?php $connection = mysqli_connect ('localhost','root','','userlistdb'); 
           
            $per_page = 25;
            $page = 1;
    
    if (isset($_GET['page']))
            {
        $page = (int) $_GET['page'];
    }
            $total_cout_q = mysqli_query($connection, "SELECT COUNT(id_com) AS `total_count` FROM `comment`")
            $total_count = mysqli_fetch_assoc($total_cout_q);
            $total_count = $total_count['total_count'];
            
            $total_pages = ceil ($total_count/ $per_pages);
            if($page <= 1 || $page > $total_pages)
            {
                $page = 1;
            }
            $offset = ($per_page * $page)- $per_page;
            $coments = mysqli_query($connection, "SELECT *  `total_count` FROM `comment` ORDER  BY `id_com` DESC LIMIT  $offset, $per_page"); 
           $coments_exist = true;
            if(mysqli_nu,_rows($coments) <= 0 ){
               echo 'Нет коментариев';
                $coments_exist = false;
           }
        while( $result = mysqli_fetch_assoc($coments){
                
            } 
            $row = mysqli_query($connection, "SELECT * FROM `comment` ORDER  BY `id_com` DESC LIMIT 25");      
        ?>
    
         <table>
        <tr>
            <th><a href="?orderBy=username">username:</a>
            </th>
            <th>  <a href="?orderBy=email">email:</a>
            </th>
            <th>  <a href="?orderBy=recorded_date"> Date:</a>
            </th>
            <th>  <a href="?orderBy=comment">Added Date:</a>
            </th>
        </tr>
        
             <?php 
                while($row = mysql_fetch_array($result)){
        ?>
          <tr>
           <th><?php echo $result['username']; ?> </th>
           <th><?php echo $result['email']; ?> </th>
           <th><?php echo $result['Date']; ?> </th>
           <th><?php echo $result['comment']; ?> </th>
           </tr>
         </table>
    
    <?php //Страницы 
                    if ( $coments_exist = true)
                    {
                        echo '<div class="paginator">';
                    if($page > 1)
                        {
                    echo '<a href= "/Guestbook.php?page='.($page - 1).'">« предыдущий </a>'; 
                    }  if($page < $total_pages)
                        {
                    echo '<a href= "/Guestbook.php?page='.($page + 1).'"> Cледующая &eaquo; </a>';        
                    }
                        echo '</div>';
                    }
                    
                    $orderBy = array('username', 'email', 'recorded_date', 'comment');
    
    $order = 'username';
    if (isset($_GET['orderBy']) && in_array($_GET['orderBy'], $orderBy)) {
        $order = $_GET['orderBy'];
          }
             $query = 'SELECT * FROM `comment` ORDER BY '.$order;
         }
    mysqli_close();
    ?>

    Привет, тут в коде сортировка и переход по страницыам, сортировка в строки с таблицы HTML, вызываемые из MySQL, при нажиматие на username едёт сортировка по алфавиту, а затем нажимать на email или Date и сортировать по дате, но выдаёт ошыбки...

    arts, 18 Апреля 2019

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

    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
    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
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    /* Создание базы данных */
    CREATE DATABASE userlistdb;
    
    /* Создание таблицы */
    CREATE TABLE `usertbl` (
    `id` int(11) NOT NULL auto_increment,
    `full_name` varchar(32) collate utf8_unicode_ci NOT NULL default '',
    `email` varchar(32) collate utf8_unicode_ci NOT NULL default '',
    `username` varchar(20) collate utf8_unicode_ci NOT NULL default '',
    `password` varchar(32) collate utf8_unicode_ci NOT NULL default '',
    PRIMARY KEY  (`id`),
    UNIQUE KEY `username` (`username`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    
    
    <?php
    require("constants.php");
    $connection = mysqli_connect('127.0.0.1', 'root', '', 'userlistdb');
    
    
    if( $connection == false)
    {
        echo 'Не удалось подключиться к базе данных!<br>';
        echo mysqli_connect_error();
        exit();
    }
    	?>
    
    if(isset($_POST["register"])){
    
    
    if(!empty($_POST['full_name']) && !empty($_POST['email']) && !empty($_POST['username']) && !empty($_POST['password'])) {
    	$full_name=$_POST['full_name'];
    	$email=$_POST['email'];
    	$username=$_POST['username'];
    	$password=$_POST['password'];
    	
    	$query = mysql_query ($connection, "SELECT `username`  FROM `usertbl` WHERE `username` ='".$username."'");
    	$numrows=mysql_num_rows($query);
    	
    	if($numrows==0)
    	{
    	$sql="INSERT INTO usertbl
    			(full_name, email, username, password) 
    			VALUES('$full_name','$email', '$username', '$password')";
    
    	$result=mysql_query($sql);
    
    
    	if($result){
    	 $message = "Account Successfully Created";
    	} else {
    	 $message = "Failed to insert data information!";
    	}
    
    	} else {
    	 $message = "That username already exists! Please try another one!";
    	}
    
    } else {
    	 $message = "All fields are required!";
    }
    }
    ?>
    
    
    <?php if (!empty($message)) {echo "<p class=\"error\">" . "MESSAGE: ". $message . "</p>";} ?>
    	
    <div class="container mregister">
    			<div id="login">
    	<h1>REGISTER</h1>
    <form name="registerform" id="registerform" action="register.php" method="post">
    			
    	<p>
    		<label for="user_pass">Username<br />
    		<input type="text" name="username" id="username" class="input" value="" size="20" /></label>
    	</p>
    	
    	<p>
    		<label for="user_pass">Password<br />
    		<input type="password" name="password" id="password" class="input" value="" size="32" /></label>
    	</p>	
    	
    
    		<p class="submit">
    		<input type="submit" name="register" id="register" class="button" value="Register" />
    	</p>
    	
    	<p class="regtext">Already have an account? <a href="login.php" >Login Here</a>!</p>
    </form>

    Подскажите что еи надо, выдаёт эту ошибку
    Неустранимая ошибка : необработанная ошибка: вызов неопределенной функции mysql_query () в C: \ Users \ John \ Desktop \ OSPanel \ domains \ localhost \ phpform \ register.php: 16 Трассировка стека: # 0 {main} выбрасывается в register.php в строке 16

    $query = mysql_query ( "SELECT `username` FROM `usertbl` WHERE `username` ='".$username."'");

    arts, 17 Апреля 2019

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (...) {
       if(...) {
          ...
       } else {
          return $this->render('error', array("case" => 1));
       }
    } else {
       return $this->render('error', array("case" => 2));
    }

    И сразу понятно, какая ошибка прозошла (нет)

    Hvreg, 15 Апреля 2019

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

    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
    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
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    class SqlXssFilter {
        private static $sql_keywords = array(
            'ADD',
            'ADD CONSTRAINT',
            'ALTER',
            'ALTER COLUMN',
            'ALTER TABLE',
            'ALL',
            'AND',
            'ANY',
            'AS',
            'ASC',
            'BACKUP DATABASE',
            'BETWEEN',
            'CASE',
            'CHECK',
            'COLUMN'
            'CONSTRAINT',
            'CREATE',
            'CREATE DATABASE',
            'CREATE INDEX',
            'CREATE OR REPLACE VIEW',
            'CREATE TABLE',
            'CREATE PROCEDURE',
            'CREATE UNIQUE INDEX',
            'CREATE VIEW',
            'DATABASE',
            'DEFAULT',
            'DELETE',
            'DESC',
            'DISTINCT',
            'DROP',
            'DROP COLUMN',
            'DROP CONSTRAINT',
            'DROP DATABASE',
            'DROP DEFAULT',
            'DROP INDEX',
            'DROP TABLE',
            'DROP VIEW',
            'EXEC',
            'EXISTS',
            'FOREIGN KEY',
            'FROM',
            'FULL OUTER JOIN',
            'GROUP BY',
            'HAVING',
            'IN',
            'INDEX',
            'INNER JOIN',
            'INSERT INTO',
            'INSERT INTO SELECT',
            'IS NULL',
            'IS NOT NULL',
            'JOIN',
            'LEFT JOIN',
            'LIKE',
            'LIMIT',
            'NOT',
            'NOT NULL',
            'OR',
            'ORDER BY',
            'OUTER JOIN',
            'PRIMARY KEY',
            'PROCEDURE',
            'RIGHT JOIN',
            'ROWNUM',
            'SELECT',
            'SELECT DISTINCT',
            'SELECT INTO',
            'SELECT TOP',
            'SET',
            'TABLE',
            'TOP',
            'TRUNCATE TABLE',
            'UNION',
            'UNION ALL',
            'UNIQUE',
            'UPDATE',
            'VALUES',
            'VIEW',
            'WHERE'
        );
        // XSS and SQL-inject filter 
        public static function filterInputData(&$str) {
            // remove html tags
            $res = strip_tags($str);
            $res = str_replace(self::sql_keywords, "", $str);
            return $res;
        }
    }

    Сойдет.

    OlegUP, 12 Апреля 2019

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