- 1
Кто рад из местных своей работой на галере?
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−2
Кто рад из местных своей работой на галере?
Кто рад из местных своей работой на галере?
−1
Почему пхпшники получают поболя крестоблядей?
Почему пхпшники получают поболя крестоблядей?
0
scheduler.queue.async { [weak self] in
guard let weakself = self else {
return
}
let locations = weakself.interactor
0
#include <stdio.h>
#include <conio.h>
int main()
{
int c;
while (1)
{
c=getch();
printf("%c",c/20);
}
return 0;
}
Шифратор 228
+3
Кстати, разные эпизоды из Зеленого слоника можно сопоставить с разными статьями
о C++. Если статья про какие-то новые возможности, которые вводятся в
каком-нибудь С++20, это когда братишке покушать принесли. Если статья о том,
как можно метапрограммировать на шаблонах, то это когда вилкой говно чистить.
Ну что ты! Я тебе сейчас расскажу, вот смотри, Я тебе хорошую сейчас расскажу! Смотри, я… вот у нас здесь копипаста много… ой-ой… копипаста много, понимаешь? Смотри, копипаст, они тебе код читать мешает. А я вот, давай я здесь напишу метушни на темплейтах и консэкспрах с препроцессором сишным, и весь копипаст сокращу слышишь? Ну что, писать?
0
<?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/
+1
https://imgur.com/a/IgqXRK7
+1
Откуда пошло выражение "... тебе за щеку, проверь"?
+3
#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?
0
коммит на гитхабе:
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.