1. C++ / Говнокод #25200

    −2

    1. 1
    Кто рад из местных своей работой на галере?

    Кто рад из местных своей работой на галере?

    crestoblyad, 16 Декабря 2018

    Комментарии (15)
  2. C++ / Говнокод #25198

    −1

    1. 1
    Почему пхпшники получают поболя крестоблядей?

    Почему пхпшники получают поболя крестоблядей?

    crestoblyad, 16 Декабря 2018

    Комментарии (209)
  3. Swift / Говнокод #25197

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    scheduler.queue.async { [weak self] in
                guard let weakself = self else {
                    return
                }
                
                let locations = weakself.interactor

    kyzmitch, 16 Декабря 2018

    Комментарии (198)
  4. Си / Говнокод #25194

    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
    #include <stdio.h>
    #include <conio.h>
    int main()
    {
    	int c;
    	while (1)
    	{
    		c=getch();
    		printf("%c",c/20);
    	}
    	return 0;
    }

    Шифратор 228

    PodvalniyHacker, 15 Декабря 2018

    Комментарии (38)
  5. C++ / Говнокод #25193

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    Кстати, разные эпизоды из Зеленого слоника можно сопоставить с разными статьями
    о C++. Если статья про какие-то новые возможности, которые вводятся в
    каком-нибудь С++20, это когда братишке покушать принесли. Если статья о том,
    как можно метапрограммировать на шаблонах, то это когда вилкой говно чистить.

    Ну что ты! Я тебе сейчас расскажу, вот смотри, Я тебе хорошую сейчас расскажу! Смотри, я… вот у нас здесь копипаста много… ой-ой… копипаста много, понимаешь? Смотри, копипаст, они тебе код читать мешает. А я вот, давай я здесь напишу метушни на темплейтах и консэкспрах с препроцессором сишным, и весь копипаст сокращу слышишь? Ну что, писать?

    j123123, 15 Декабря 2018

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

    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
    <?php
    if(isset($_GET['action']) && $_GET['action']=="add"){
            $id=intval($_GET['id']);
            if(isset($_SESSION['cart'][$id])){
            $_SESSION['cart'][$id]['quantity']++;
            }else{
    $sql_s="SELECT * FROM products
    WHERE id_product={$id}";
    $query_s=mysqli_query($sql_s);
    if(mysqli_num_rows($query_s)!=0){
    $row_s=mysqli_fetch_array($query_s);
                    $_SESSION['cart'][$row_s['id_product']]=array(
                    "quantity" => 1,
                    "price" => $row_s['price']  );
                    }else{
                    $message="This product id it's invalid!"; } } } ?>
    <h1>Product List</h1>
                    <?php
                   if(isset($message)){
                   echo "<h2>$message</h2>";  }
                   ?>
    <table>
    <tr>
                <th>Name</th>
                <th>Description</th>
                <th>Price</th>
                <th>Action</th>
    </tr>
            <?php
    $mysqli = new mysqli('……','root','……','tutorials');
    $sql = 'SELECT name,description,price, id_product FROM products'; // select from mysql
    $result = $mysqli->query($sql);  
    while($row = $result->fetch_array()){
        ?>
            <tr>
                <td><?php echo $row['name'] ?></td>
                <td><?php echo $row['description'] ?></td>
                <td><?php echo $row['price'] ?>$</td>
    <td><a href="index.php?page=products&action=add&id=<?php echo $row['id_product'] ?>">Add to cart</a></td>
            </tr>
    <?php
        }
    ?>
    </table>

    строки:
    2 - Входящую переменную так никто не проверяет. Есть функции filter_input
    3 - $_GET['id'] без проверки на существовании
    9 - mysqli_query - 1) аргумент, Идентификатор соединения. 2) сам запрос
    10 - процесс проверки num_rows глупый. Есть 0 ( ложь ), либо в остальных случаях истина.
    12 - мы выбивали из запроса id_product чтобы узнать и подставить значение как ключ $_SESSION['cart'][$row_s['id_product']] ??? Уверяю, я знаю уже ключ: $_SESSION['cart'][$id]
    30 - Глупая, тупая ошибка новичков. Постоянно на каждой логике кода, устанавливают новое соединение с бд. Нравится в постели оргия, любите много и сразу?

    Говнокодер: rita345
    https://php.ru/forum/threads/this-product-id-its-invalid.74253/

    MouseZver, 13 Декабря 2018

    Комментарии (13)
  7. C++ / Говнокод #25190

    +1

    1. 1
    https://imgur.com/a/IgqXRK7

    BelCodeMonkey, 13 Декабря 2018

    Комментарии (10)
  8. Куча / Говнокод #25189

    +1

    1. 1
    Откуда пошло выражение "... тебе за щеку, проверь"?

    LinuxGovno, 13 Декабря 2018

    Комментарии (20)
  9. Си / Говнокод #25188

    +3

    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
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    
    enum {
        HOST = INADDR_LOOPBACK,
        PORT = 6666,
        MAX_BUF = 1024
    };
    
    struct sock {
        int sockfd;
        int addrlen;
        struct sockaddr_in addr;
    } host, client;
    
    int check(int x, char*msg)
    {
        if (!~x) {
            perror(msg);
            exit(1);
        }
        return x;
    }
    
    #define QUOTE_(...) #__VA_ARGS__
    #define QUOTE(...) QUOTE_(__VA_ARGS__)
    #define CHECK(...) check(__VA_ARGS__, QUOTE(line __LINE__: __VA_ARGS__))
    
    int main(int argc, char**argv)
    {
        struct sock host, client;
        host.sockfd = CHECK(socket(AF_INET, SOCK_STREAM, 0)),
        host.addr = (struct sockaddr_in){AF_INET, htons(PORT), htonl(HOST)};
        CHECK(bind(host.sockfd, &(struct sockaddr)host.addr, sizeof(host.addr)));
        CHECK(listen(host.sockfd, 1));
        CHECK(client.sockfd = accept(host.sockfd, (void*)&client.addr, &client.addrlen));
        printf("connected: %s\n", inet_ntoa(client.addr.sin_addr));
        
        struct {int len; char buf[MAX_BUF];} msg;
        while (CHECK(msg.len = recv(client.sockfd, msg.buf, MAX_BUF - 1, 0)) && msg.len) {
            msg.buf[msg.len] = 0;
            printf("%s", msg.buf);
            send(client.sockfd, msg.buf, msg.len, 0);
        }
        close(client.sockfd);
        close(host.sockfd);
        return 0;
    }

    Почему если закоментить 36-ю строчку адрес килента 0.0.0.0?

    666_N33D135, 13 Декабря 2018

    Комментарии (63)
  10. JavaScript / Говнокод #25187

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    коммит на гитхабе:
    https://github.com/nativescript-vue/nativescript-vue.org/commit/f964457a5e4944864485c7194b0b5d850f8edb67
    русская документация:
    https://nativescript-vue.org/ru/docs/routing/manual-routing/#navigateto
    английская документация:
    https://nativescript-vue.org/en/docs/routing/manual-routing/#passing-props-to-the-modal
    
    угадайте, какой вариант передачи пропсов рабочий ?

    #SEO документация, JS.

    хуита, 13 Декабря 2018

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