Я попросил ИИ написать максимально ПЛОХОЙ код

В то время как все пытаются научить ИИ писать такой хороший код, чтобы он заменил всех программистов, я решил попросить его сделать прямо противоположную задачу - написать максимально плохой код. Мой промпт звучал так:

Напиши максимально ПЛОХОЙ код на языке PHP, реализующий функционал интернет-магазина.

В качестве ИИ я использовал DeepSeek. Разумеется, в режиме рассуждения - ведь чтобы написать максимально плохой код, мне понадобится вся интеллектуальная мощность искусственного интеллекта. Почему плохой код должен быть именно на PHP, я думаю, объяснять не надо.

Итак, сначала рассуждения ИИ:

Мы должны написать максимально плохой код на PHP для интернет-магазина. Задача явно шуточная, нужно продемонстрировать плохие практики: отсутствие безопасности, уязвимости, нечитаемый код, использование устаревших функций, глобальные переменные, смешивание логики и представления, отсутствие структуры, потенциальные ошибки и т.д.

Нужно создать что-то работающее (хотя бы по логике), но с кучей проблем. Подумаем о типичном функционале интернет-магазина: каталог товаров, корзина, оформление заказа, возможно, админка. Но для "максимально плохого" можно сделать один файл, который делает всё.

Плохие практики:

Сделаем один файл index.php, который обрабатывает все действия через параметр action. Будем использовать MySQL (устаревшее расширение). Сохраним всё в таблицы: products, users, orders. Добавим админку для добавления товаров (без проверки прав, просто по секретному параметру).

Пароли в открытом виде. SQL-инъекции в каждом запросе. Также можно использовать динамические имена таблиц через пользовательский ввод.

Добавим файловую систему для картинок товаров: загрузка файлов без проверки типа и размера, прямое сохранение в публичную папку.

Сделаем корзину в сессии, но без очистки данных.

Напишем в функциональном стиле с длинными строками.

Также можно использовать тернарные операторы в нечитаемом виде.

Добавим "инновационные" решения, например, использование eval для вычисления цены со скидкой: eval("return $price * $discount;") с пользовательским вводом.

Можно использовать include для разных частей страницы, но без проверки, что может привести к LFI.

Также добавим функцию mail для отправки подтверждения заказа, но без проверки email, спам.

Итоговый код должен быть кошмаром для любого разработчика.

Приступим к написанию.

А теперь посмотрим код:

<?php
// =====================================================
// MEGA PLOHOY INTERNET MAGAZIN
// VERSIYA 1.0 (BETA)
// AVTOR: NEIZVESTNY GENIY
// =====================================================

// VKLUCHAEM VSE OSHIBKI NA EKRAN - TAK NADEZHNEE
error_reporting(E_ALL);
ini_set('display_errors', 1);

// PODKLUCHAEMSYA K BAZE DANNYKH (BEZ PROVEROK)
mysql_connect('localhost', 'root', '');
mysql_select_db('shop');

// SOZDAEM TABLITSY, ESLI IKH NET (S POMOSHYU ZAPROSA)
mysql_query("CREATE TABLE IF NOT EXISTS products (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name TEXT,
    price TEXT,
    image TEXT,
    descr TEXT
)");

mysql_query("CREATE TABLE IF NOT EXISTS users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    login TEXT,
    password TEXT,
    email TEXT,
    is_admin INT
)");

mysql_query("CREATE TABLE IF NOT EXISTS orders (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT,
    products TEXT,
    total TEXT,
    date DATETIME
)");

// VSTAVIM ADMINA, ESLI EGO NET (PAROL' - ADMIN)
$res = mysql_query("SELECT * FROM users WHERE login = 'admin'");
if (mysql_num_rows($res) == 0) {
    mysql_query("INSERT INTO users (login, password, email, is_admin) VALUES ('admin', 'admin', 'admin@localhost', 1)");
}

// GLAVNAYA LOGIKA: POLUCHAEM DEYSTVIE IZ GET ILI POST
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : 'catalog';

// SEANSU NADO VKLYUCHIT' DLYA KORZINY
session_start();

// EKSTRENNO SOZDAEM PEREMENNYE IZ POST - UDOBNO!
if ($_POST) extract($_POST);

// OBRABOTCHIK DEYSTVII
switch ($action) {
    case 'catalog':
        showCatalog();
        break;
    case 'product':
        showProduct();
        break;
    case 'cart':
        showCart();
        break;
    case 'add_to_cart':
        addToCart();
        break;
    case 'remove_from_cart':
        removeFromCart();
        break;
    case 'checkout':
        checkout();
        break;
    case 'admin':
        adminPanel();
        break;
    case 'add_product':
        addProduct();
        break;
    case 'delete_product':
        deleteProduct();
        break;
    case 'login':
        login();
        break;
    case 'logout':
        logout();
        break;
    case 'register':
        register();
        break;
    default:
        showCatalog();
}

// FUNKTSII

function showCatalog() {
    // POLUCHAEM VSE TOVARY IZ BAZY
    $res = mysql_query("SELECT * FROM products");
    echo "<h1>KATALOG TOVAROV</h1>";
    echo "<a href='?action=cart'>Korzina</a> | <a href='?action=admin'>Admin panel</a> | <a href='?action=login'>Login</a><br><br>";
    while ($row = mysql_fetch_assoc($res)) {
        // VYVODIM TOVAR S SSYLKOY NA PODROBNEE
        echo "<div style='border:1px solid #ccc; margin:5px; padding:5px;'>";
        echo "<h3>" . $row['name'] . "</h3>";
        echo "<p>Cena: " . $row['price'] . " rub.</p>";
        if ($row['image']) echo "<img src='uploads/" . $row['image'] . "' width='100'><br>";
        echo "<a href='?action=product&id=" . $row['id'] . "'>Podrobnee</a> | ";
        echo "<a href='?action=add_to_cart&id=" . $row['id'] . "'>V korzinu</a>";
        echo "</div>";
    }
}

function showProduct() {
    $id = $_GET['id'];
    // OPASNYY ZAPROS BEZ EKRANIROVANIYA
    $res = mysql_query("SELECT * FROM products WHERE id = $id");
    $row = mysql_fetch_assoc($res);
    if (!$row) {
        echo "Tovar ne nayden!";
        return;
    }
    echo "<h1>" . $row['name'] . "</h1>";
    echo "<p>Cena: " . $row['price'] . "</p>";
    echo "<p>" . $row['descr'] . "</p>";
    if ($row['image']) echo "<img src='uploads/" . $row['image'] . "'><br>";
    echo "<a href='?action=add_to_cart&id=" . $row['id'] . "'>Dobavit' v korzinu</a><br>";
    echo "<a href='?action=catalog'>Nazad v katalog</a>";
}

function addToCart() {
    $id = $_GET['id'];
    if (!isset($_SESSION['cart'])) $_SESSION['cart'] = array();
    // PROVERIM, CHTO TAKOY Tovar EST'
    $res = mysql_query("SELECT * FROM products WHERE id = $id");
    if (mysql_num_rows($res) > 0) {
        $_SESSION['cart'][$id] = isset($_SESSION['cart'][$id]) ? $_SESSION['cart'][$id] + 1 : 1;
    }
    header("Location: ?action=cart");
    exit;
}

function removeFromCart() {
    $id = $_GET['id'];
    unset($_SESSION['cart'][$id]);
    header("Location: ?action=cart");
    exit;
}

function showCart() {
    echo "<h1>KORZINA</h1>";
    if (empty($_SESSION['cart'])) {
        echo "Korzina pusta.";
        echo "<br><a href='?action=catalog'>V katalog</a>";
        return;
    }
    $total = 0;
    foreach ($_SESSION['cart'] as $id => $qty) {
        $res = mysql_query("SELECT * FROM products WHERE id = $id");
        $row = mysql_fetch_assoc($res);
        if (!$row) continue;
        $subtotal = $row['price'] * $qty;
        $total += $subtotal;
        echo "<div>";
        echo $row['name'] . " x $qty = $subtotal rub. ";
        echo "<a href='?action=remove_from_cart&id=$id'>Udalit'</a>";
        echo "</div>";
    }
    echo "<hr><b>ITOGO: $total rub.</b><br>";
    echo "<a href='?action=catalog'>Prodolzhit' pokupki</a> | ";
    if (isset($_SESSION['user_id'])) {
        echo "<a href='?action=checkout'>Oformit' zakaz</a>";
    } else {
        echo "<a href='?action=login'>Voyti dlya oformleniya</a>";
    }
}

function checkout() {
    if (!isset($_SESSION['user_id'])) {
        header("Location: ?action=login");
        exit;
    }
    if (empty($_SESSION['cart'])) {
        echo "Korzina pusta.";
        return;
    }
    // SOBIRAEM DANNye O ZAKAZE
    $user_id = $_SESSION['user_id'];
    $products = serialize($_SESSION['cart']);
    $total = 0;
    foreach ($_SESSION['cart'] as $id => $qty) {
        $res = mysql_query("SELECT * FROM products WHERE id = $id");
        $row = mysql_fetch_assoc($res);
        $total += $row['price'] * $qty;
    }
    $date = date('Y-m-d H:i:s');
    mysql_query("INSERT INTO orders (user_id, products, total, date) VALUES ($user_id, '$products', $total, '$date')");
    
    // OCHIShAEM KORZINU
    $_SESSION['cart'] = array();
    
    echo "Zakaz oformlen! Spasibo za pokupku!";
    echo "<br><a href='?action=catalog'>Na glavnuyu</a>";
    
    // OTPRAVLYaEM PIS'MO (ESLI EST' ADRES)
    $res = mysql_query("SELECT email FROM users WHERE id = $user_id");
    $u = mysql_fetch_assoc($res);
    if ($u['email']) {
        mail($u['email'], "Zakaz oformlen", "Vash zakaz prinyat. Obshchaya summa: $total rub.");
    }
}

function adminPanel() {
    // PROVERIM PRAVA (ADMIN? ESLI NET, TO PUST' VOYDET)
    if (!isset($_SESSION['is_admin']) || $_SESSION['is_admin'] != 1) {
        // POPROBUEM VOYTI KAK ADMIN (DLYA UDOBSTVA)
        echo "<h2>Vkhod dlya administratora</h2>";
        echo "<form method='post' action='?action=login'>";
        echo "Login: <input name='login'><br>";
        echo "Password: <input type='password' name='pass'><br>";
        echo "<input type='submit' value='Voyti'>";
        echo "</form>";
        return;
    }
    
    // ADMIN PANEL'
    echo "<h1>ADMIN PANEL'</h1>";
    echo "<a href='?action=catalog'>Katalog</a> | <a href='?action=logout'>Logout</a><br><br>";
    
    // SPISOK TOVAROV S SSYLKAMI NA UDALENIE
    $res = mysql_query("SELECT * FROM products");
    echo "<table border=1>";
    echo "<tr><th>ID</th><th>Nazvanie</th><th>Cena</th><th>Deystvie</th></tr>";
    while ($row = mysql_fetch_assoc($res)) {
        echo "<tr>";
        echo "<td>" . $row['id'] . "</td>";
        echo "<td>" . $row['name'] . "</td>";
        echo "<td>" . $row['price'] . "</td>";
        echo "<td><a href='?action=delete_product&id=" . $row['id'] . "' onclick='return confirm(\"Udalit?\")'>Udalit'</a></td>";
        echo "</tr>";
    }
    echo "</table>";
    
    // FORMA DOBAVLENIYa TOVARA
    echo "<h2>Dobavit' tovar</h2>";
    echo "<form method='post' action='?action=add_product' enctype='multipart/form-data'>";
    echo "Nazvanie: <input name='name'><br>";
    echo "Cena: <input name='price'><br>";
    echo "Opisanie: <textarea name='descr'></textarea><br>";
    echo "Kartinka: <input type='file' name='image'><br>";
    echo "<input type='submit' value='Dobavit'>";
    echo "</form>";
}

function addProduct() {
    // PROVERKA ADMINA (OPYAT')
    if (!isset($_SESSION['is_admin']) || $_SESSION['is_admin'] != 1) {
        die("Net prav");
    }
    $name = $_POST['name'];
    $price = $_POST['price'];
    $descr = $_POST['descr'];
    
    // ZAGRUZKA KARTINKI (BEZ PROVEROK)
    $image = '';
    if ($_FILES['image']['tmp_name']) {
        $image = time() . '_' . $_FILES['image']['name'];
        move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/' . $image);
    }
    
    // VSTAVLYaEM V BAZU (BEZ EKRANIROVANIYA)
    mysql_query("INSERT INTO products (name, price, image, descr) VALUES ('$name', '$price', '$image', '$descr')");
    
    header("Location: ?action=admin");
    exit;
}

function deleteProduct() {
    if (!isset($_SESSION['is_admin']) || $_SESSION['is_admin'] != 1) {
        die("Net prav");
    }
    $id = $_GET['id'];
    // SNAChALA UDALIM KARTINKU IZ FAYLOVOY SISTEMY (NE OBYAZATEL'NO)
    $res = mysql_query("SELECT image FROM products WHERE id = $id");
    $row = mysql_fetch_assoc($res);
    if ($row['image']) {
        @unlink('uploads/' . $row['image']);
    }
    mysql_query("DELETE FROM products WHERE id = $id");
    header("Location: ?action=admin");
    exit;
}

function login() {
    if ($_POST) {
        $login = $_POST['login'];
        $pass = $_POST['pass'];
        // OPASNYY ZAPROS (IN'EKCIYa)
        $res = mysql_query("SELECT * FROM users WHERE login = '$login' AND password = '$pass'");
        if ($row = mysql_fetch_assoc($res)) {
            $_SESSION['user_id'] = $row['id'];
            $_SESSION['is_admin'] = $row['is_admin'];
            header("Location: ?action=catalog");
            exit;
        } else {
            echo "Nevernyy login/parol";
        }
    }
    echo "<h2>Vkhod</h2>";
    echo "<form method='post'>";
    echo "Login: <input name='login'><br>";
    echo "Password: <input type='password' name='pass'><br>";
    echo "<input type='submit' value='Voyti'>";
    echo "</form>";
    echo "<a href='?action=register'>Register</a>";
}

function register() {
    if ($_POST) {
        $login = $_POST['login'];
        $pass = $_POST['pass'];
        $email = $_POST['email'];
        // VSTAVKA BEZ EKRANIROVANIYA
        mysql_query("INSERT INTO users (login, password, email, is_admin) VALUES ('$login', '$pass', '$email', 0)");
        echo "Registraciya uspeshna! Teper' vojdite.";
        header("Refresh: 2; url=?action=login");
    } else {
        echo "<h2>Registraciya</h2>";
        echo "<form method='post'>";
        echo "Login: <input name='login'><br>";
        echo "Password: <input type='password' name='pass'><br>";
        echo "Email: <input name='email'><br>";
        echo "<input type='submit' value='Zaregistrirovat'sya'>";
        echo "</form>";
    }
}

function logout() {
    session_destroy();
    header("Location: ?action=catalog");
    exit;
}

// SOZDAEM PAPKU DLYA ZAGRUZOK, ESLI EE NET
if (!is_dir('uploads')) mkdir('uploads');

?>

Что я могу сказать.

Достоинства:

  1. VERSIYA 1.0 (BETA) - это хорошо.

  2. AVTOR: NEIZVESTNY GENIY - еще лучше. Кажется, я научил ИИ чувству юмора.

  3. Создавать все таблицы при первом запуске - неплохо

  4. ООП не используется вообще - правильно.

  5. Создать папку для загрузок только после того как весь код отработает - логично.

  6. Все комментарии на транслите - не знаю, насколько намеренно, но выглядит как недостаток, так что плюс.

  7. Как кстати и все сообщения пользователю.

  8. Вывод все ошибок пользователю - классика, сойдет.

  9. Вставка в БД без экранирования - да, норм.

  10. Весь код в одном файле - ну это очевидно.

Недостатки:

  1. Идеальное форматирование кода - очень плохо, новички так не поступают.

  2. Мне обещали использование eval - а его нигде нет.

  3. В CREATE TABLE есть IF NOT EXISTS - скрипт не упадет на втором запуске.

  4. Название полей в БД на идеальном английском - не ок

  5. AUTO_INCREMENT зачем? Генерировать id вручную при каждом добавлении не судьба?

  6. Кавычки слишком правильно используются.

  7. Можно было бы и не разбивать код по функциям - if-else достаточно.

  8. Хотя бы можно было отказаться от использования switch.

  9. Я бы еще добавил вырвиглазные цвета, например зеленый на красном фоне

  10. Не вижу каких-то очевидных логических ошибок, просто не хватает проверок входящих данных.

Итог - ИИ написал довольно плохой код. Но мог бы сделать и хуже.

И нет, я его не запускал. Мне своего сервера жалко.

Предлагаю в комментариях попросить решить аналогичную задачу у других ИИ. И попросить их написать плохой код на других языках программирования.

UPD: Я попросил его:

«Перепиши код несколько раз, каждый раз делая его хуже.»

И знаете, получилось сильно хуже! https://chat.deepseek.com/share/amvp9rzoe8133ebt2z

@freehabr
21.02.2026 18:13 UTC
Первоисточник

Комментарии

@UniInter
21.02.2026 13:24 UTC
+2

Надо было в промпте дать причину такой просьбы. Например, "Код нужен для демонстрации студентам всех случаев плохого кода".

@freehabr
21.02.2026 13:34 UTC
+1

Я попросил его:

"Перепиши код несколько раз, каждый раз делая его хуже."

И знаете, получилось сильно хуже! https://chat.deepseek.com/share/amvp9rzoe8133ebt2z

21.02.2026 13:39 UTC
+2

Кстати, промпт "перепиши несколько раз" - это хорошее решение. Вот тут я попросил несколько раз переписать анекдот: https://chat.deepseek.com/share/r1cam4uycl641xz09p Интересно что третья версия оказалась смешнее, чем четвертая.

22.02.2026 15:31 UTC
+1

Плохой код это не так плохо как просто тупость. Вот студентам образец. Попробуйте сделать таблицу в псевдокоде так чтобы разделение на ячейки было ровным. Я два часа УЧИЛ Grok что нужно считать символы в каждой ячейке и учитывать максимальный в столбце. Лучше этого он вообще не смог родить

🤣

| Day | Adults (Shed) | Juveniles (Lake) | Total | Notes |
+-----+---------------+------------------+-------+-------------------------------------+
| 0 | 40 | 0 | 40 | Winter start |
| 30 | 30 | 0 | 30 | Egg-laying |
| 60 | 26 | 75 | 101 | Hatching peak, stress mortality |
| 90 | 29 | 41 | 70 | Juvenile transition to lake |
| 120 | 30 | 59 | 89 | Spring stabilization |
| 150 | 30 | 60 | 90 | Summer adaptation |
| 180 | 30 | 60 | 90 | End-summer plateau |
+-----+---------------+------------------+-------+-------------------------------------+

@Dhwtj
21.02.2026 13:47 UTC
+3

Довольно трудно получить от LLM совсем плохой код. С патчами, срочно, разными людьми и забив на все принципы разработки.

<?php session_start(); ob_start(); $db = new mysqli("db","u","p","shop"); $total = 0; 
// FIX: CSRF токен (ИБ ругались на сканер)
if(empty($_SESSION['csrf'])) $_SESSION['csrf'] = bin2hex(random_bytes(16));
?>
<script>let sum = 0; document.cookie="discount_sum=0";</script>
<form method="post" id="cart_form">
<input type="hidden" name="csrf" value="<?= $_SESSION['csrf'] ?>">

<?php $res = $db->query("SELECT id, price, name FROM catalog"); while($row = $res->fetch_assoc()): ?>
    <?php 
    $v = "item_".$row['id']; 
    // FIX: Принудительный каст в int, чтобы в $$v не прокинули массив (убивало сессию)
    $$v = (int)($_POST[$v] ?? $_SESSION[$v] ?? 0);
    if($$v) { 
        $_SESSION[$v] = 1; 
        $total += (float)$row['price']; 
    } 
    ?>
    <div onclick="document.getElementById('<?=$v?>').value=1; document.getElementById('cart_form').submit()">
        <!-- FIX: XSS. Раньше можно было в базу записать товар <script>alert(1)</script> -->
        <?= htmlspecialchars($row['name'], ENT_QUOTES) ?> 
        <script>
            if(<?= $$v ?>) { 
                sum += <?= (float)$row['price'] ?>; 
                document.write("<span>[V]</span>"); 
                document.cookie = "discount_sum=" + (sum * 0.9); 
            }
        </script>
        <input type="hidden" name="<?= $v ?>" id="<?= $v ?>" value="0">
    </div>
<?php endwhile; ?>

<button name="checkout" value="1">Оформить</button></form>

<?php 
if(isset($_POST['checkout']) && $total > 0) {
    // FIX: Проверка токена
    if(empty($_POST['csrf']) || $_POST['csrf'] !== $_SESSION['csrf']) die("Bad Request");

    // FIX: SQLi и подмена цены. 
    // Куке всё ещё доверяем, но кастим во float и зажимаем между 0 и суммой без скидки. 
    // Хакер купит за 0 руб, но хотя бы не выведет баланс в минус.
    $client_price = floatval($_COOKIE['discount_sum'] ?? $total);
    $final_price = max(0, min($client_price, $total));

    // FIX: Перешли на prepared statements, потому что статический анализатор блокировал CI/CD
    $stmt = $db->prepare("INSERT INTO orders (val) VALUES (?)");
    $stmt->bind_param("d", $final_price);
    $stmt->execute();

    session_unset();
    echo "<script>alert('Ок'); window.location='?';</script>";
}

$html = ob_get_clean();
echo str_replace("[V]", "<b style='color:green'>В корзине</b>", $html);
?>

Всё должно работать и даже почти без уязвимостей. Удачи в тестировании и доработках.

У автора стиль 2010 года: самодельный роутинг, но уже есть слои. У меня стиль на 10 лет старше.

@digrobot
21.02.2026 18:27 UTC
+7

Заголовок звучит, как начало анекдота: "Я попросил ИИ написать максимально ПЛОХОЙ код, в результате WordPress был ускорен в десять раз".

@HardlinePeak936
21.02.2026 21:21 UTC
0

У меня ассоциация с кликбейтными названиями видео с ютуба для школьников по играм...

@GlazOtca
21.02.2026 20:24 UTC
+1

Вот кусок кода из 2000г.:

<html>
<head>
<title>SQL</title>
<meta http-equiv="Content-Language" content="ru">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link rel="stylesheet" type="text/css" href="style.css">
<script language="JavaScript" src="lib.js"></script>
<script language="JavaScript" src="move.js"></script>
<script language="JavaScript" src="calc.js"></script>
</head>
<body onLoad="create_object_array();init()">
<form action="gak_sql.php" method="get">
<center><b>
<?php
//require_once("dump.php");
require("class.mysql.php");
require_once("confdb.php");
if(!isset($lim) || (!is_numeric($lim))) $lim=30;
$ch2="";
$ch3="";
$numeric="";
if(@$num!="") {$ch2=" checked"; $numeric=1;}
if(@$help!="") {$ch3=" checked";}
//dump($_GET);
if(@$action3) { 
$fl=file("sqlcom.inc");
$fl[]="\n".$c1."::".$s1;
$fl=implode("",$fl);
$hndl=fopen("sqlcom.inc","w");
fwrite ($hndl,$fl);
fclose($hndl);
}

function callback($ms)
{
return "<font color=\"blue\">".strtoupper($ms[1])."</font>";
}
//===========================================================
function toupsql($ms)
{
return strtoupper($ms[1]);
}
//===========================================================
function table($h,$clcol,$num=false)
{
global $sql,$db;
static $sta=0;
$sta++;
$sql2="";
$len=strlen($sql);
if($db->in_sql!="") {$sql2=eregi_replace("\\{[^}]*\\}","<font color=\"#B400B4\">".htmlspecialchars($db->in)."</font>",$sql)."<hr>";}
$str="/\b(SELECT|FROM|WHERE|LIMIT|ORDER|GROUP|HAVING|MAX|MIN|AVG|COUNT|BY|DISTINCT|IN|BETWEEN|NOT|OR|AND)\b/i";
$sql3=ereg_replace("\r?\n"," ",$sql);
$sql3=ereg_replace(" {2,}"," ",$sql3);
$sql3=str_replace("'","\'",$sql3);
$sql3=str_replace("\"","\'",$sql3);
$sql3=ereg_replace("(<)([^>])","\\1 \\2",$sql3);
$sql3=preg_replace_callback($str, "toupsql", $sql3);
$sql=htmlspecialchars($sql);
$sql=preg_replace_callback($str, "callback", $sql);
if($len>100) {$sql="<font size=\"1\">".$sql."</font>";}
$sql2=preg_replace_callback($str, "callback", $sql2);
echo "<div class=\"$clcol\"><center><hr>
<div class=\"gr\" onDblClick=\"openPopupWin('$sql3')\">$sql<hr>$sql2</div>\n";
if($db->mysql_error) echo "<div class=\"sred\"><center>".$db->mysql_error."</center></div><hr>\n";
if(!is_array($h)) {
if(empty($h)) echo "<div class=\"sred\"><center>No record!</center></div><hr>\n";
else echo $h;
echo "</center></div>\n";
return;}
$cnt=reset($h);
$cnt1=count($cnt);
$procent=intval(100/$cnt1);
echo "<table border=\"0\" width=\"100%\"  cellpadding=\"1\" cellspacing=\"1\">";
echo "<tr class=\"tdbs\">";
if($num) echo "<td width=\"1%\" align=\"center\">№</td>";
foreach($cnt as $i=>$v) {echo "<td width=\"$procent%\" align=\"center\">$i</td>\n";}
echo "</tr>";
foreach($h as $k=>$v) {
//$tr=@$fg ? "#9999f0" : "#8888e0" ;
//$fg=@$fg ? 0 : 1 ;
//echo "<tr bgcolor='$tr'>\n";
$tr=@$fg ? "tr1" : "tr2" ;
$fg=@$fg ? 0 : 1 ;
echo "<tr class=\"$tr\">\n";
if($num) echo "\t<td width=\"1%\" align=\"center\" class=\"tdb\">".($k+1)."</td>\n";
foreach($v as $kl=>$vl){
if(is_numeric($vl)) echo "\t<td align=\"center\" onClick=\"tn(this.innerHTML)\">$vl</td>\n";
               else echo "\t<td align=\"center\" onClick=\"ts(this.innerHTML)\">$vl</td>\n";
}
echo "</tr>\n";
}
echo "</table>";
echo "</center><hr></div>";
}
//===============================================================

@HardlinePeak936
21.02.2026 21:22 UTC
0

Мы должны написать максимально плохой код на PHP для интернет-магазина. Задача явно шуточная

Как забавный вывод :)

@KohINoor
22.02.2026 00:06 UTC
0

Для максимально плохого кода слишком много комментариев в нем)

@lamerok
22.02.2026 04:50 UTC
+1

Так наоборот, хорошему коду комментарии не нужны, он самодокументировпн.

@GuestOne
27.02.2026 17:05 UTC
0

Напоминает phpBB версий 1-2.