🚀 PHP Cleaner Pro — Автоматизация создания PHP-проектов в VS Code PHP Cleaner Pro — это мощное расширение для Visual Studio Code, которое помогает быстро и легко создавать и очищать проекты на PHP. Забудьте о долгой настройке — теперь всё делается в пару кликов! ✨ Основные возможности 🏗️ Автоматическое создание структуры проекта Быстрый старт с готовой организацией папок и файлов. 📂 Копирование шаблона проекта в выбранную директорию Просто выберите папку — и шаблон проекта уже там! ⚡ Простое начало работы в один клик Запускайте команду через палитру (Ctrl+Shift+P) и начинайте кодить. 🔄 Совместимость с VS Code 1.60+ Работает на актуальных версиях редактора. 📦 Установка Откройте VS Code Marketplace Найдите и установите расширение PHP Cleaner Pro Готово! Теперь можно создавать проекты мгновенно. 🛠 Как использовать Нажмите F1 или Ctrl+Shift+P Введите и выберите команду Создать проект автоматически Выберите папку для проекта Наслаждайтесь готовой структурой и начинайте разработку! 🎉 🔗 Полезные ссылки Репозиторий на GitHub: traktorzuzia/asasasasas Здесь вы найдёте исходный код, инструкции и сможете предложить свои улучшения. 💡 Почему стоит использовать PHP Cleaner Pro? Экономит время на рутинных задачах Помогает поддерживать порядок в проектах Упрощает старт для новичков и ускоряет работу опытных разработчиков Интегрируется в привычный рабочий процесс VS Code Если вы хотите сделать разработку на PHP проще и приятнее — PHP Cleaner Pro точно для вас! 🚀👨💻 Если нужно, могу помочь с установкой или настройкой — просто скажите! 😊 <?php админ include "db.php"; if (!isset($_SESSION['admin'])) header("Location: login.php"); if ($_POST) { $id = $_POST['id']; $status = $_POST['status']; $conn->query("UPDATE statements SET status='$status' WHERE id=$id"); } $res = $conn->query("SELECT s.id, u.fullname, s.car_number, s.description, s.status FROM statements s JOIN users u ON s.user_id = u.id"); ?> <link rel="stylesheet" href="style.css"> <meta name="viewport" content="width=device-width, initial-scale=1"> <h2>Все заявления</h2> <a href="logout.php" class="link">Выход</a><br><br> <?php while ($r = $res->fetch_assoc()): ?> <div class="card"> <p><strong>ФИО:</strong> <?=$r['fullname'] ?></p> <p><strong>Номер автомобиля:</strong> <?= $r['car_number'] ?></p> <p><strong>Описание:</strong> <?= $r['description'] ?></p> <p><strong>Статус:</strong> <?= $r['status'] ?></p> <?php if ($r['status'] == 'новое'): ?> <form method="post" class="form"> <input type="hidden" name="id" value="<?= $r['id'] ?>"> <button name="status" value="подтверждено">Подтвердить</button> <button name="status" value="отклонено" style="background:#dc3545;">Отклонить</button> </form> <?php endif; ?> </div> <?php endwhile; ?> <?php подключение $conn = new mysqli("localhost", "root", "", "narusheniam_net"); session_start(); ?> <?php include "db.php" логин; if ($_POST) { $l = $_POST['login']; $p = $_POST['password']; if ($l == "copp" && $p == "password") { $_SESSION['admin'] = 1; header("Location: admin.php"); } else { $res = $conn->query("SELECT * FROM users WHERE login='$l' AND password='$p'"); if ($res->num_rows == 1) { $u = $res->fetch_assoc(); $_SESSION['user_id'] = $u['id']; header("Location: statements.php"); } else echo "Неверные данные"; } } ?> <link rel="stylesheet" href="style.css"> <meta name="viewport" content="width=device-width, initial-scale=1"> <form method="post" class="form"> <h2>Вход</h2> <input name="login" placeholder="Логин"><br> <input name="password" type="password" placeholder="Пароль"><br> <button>Войти</button> </form> <a href="register.php" class="link">Регистрация</a> логаут <?php session_start(); session_destroy(); header("Location: login.php"); ?> <?php include "db.php" регистарцияи; $err = ""; if ($_POST) { $f = $_POST['fullname']; $p = $_POST['phone']; $e = $_POST['email']; $l = $_POST['login']; $pw = $_POST['password']; if (strlen($pw) < 6) $err = "Пароль слишком короткий"; elseif (!preg_match("/^[А-Яа-яЁё\s]+$/u", $f)) $err = "ФИО только на кириллице"; elseif (!preg_match("/^\+7\(\d{3}\)-\d{3}-\d{2}-\d{2}$/", $p)) $err = "Телефон в формате +7(XXX)-XXX-XX-XX"; elseif (!filter_var($e, FILTER_VALIDATE_EMAIL)) $err = "Неверный email"; else { $res = $conn->query("SELECT * FROM users WHERE login='$l'"); if ($res->num_rows == 0) { $conn->query("INSERT INTO users (fullname, phone, email, login, password) VALUES ('$f', '$p', '$e', '$l', '$pw')"); header("Location: login.php"); } else $err = "Логин занят"; } } ?> <link rel="stylesheet" href="style.css"> <form method="post" class="form"> <h2>Регистрация</h2> <?php if ($err) echo "<div class='error'>$err</div>"; ?> <input name="fullname" placeholder="ФИО" required><br> <input name="phone" placeholder="Телефон" required><br> <input name="email" placeholder="Email" required><br> <input name="login" placeholder="Логин" required><br> <input name="password" type="password" placeholder="Пароль" required><br> <button>Зарегистрироваться</button> </form> <a href="login.php" class="link">Вход</a> <?php include "db.php" лк пользователя; if (!isset($_SESSION['user_id'])) header("Location: login.php"); $uid = $_SESSION['user_id']; $res = $conn->query("SELECT * FROM statements WHERE user_id=$uid"); ?> <link rel="stylesheet" href="style.css"> <meta name="viewport" content="width=device-width, initial-scale=1"> <h2>Мои заявления</h2> <a href="submit.php" class="link">Новое заявление</a> | <a href="logout.php" class="link">Выход</a><br><br> <?php while($r = $res->fetch_assoc()): ?> <div class="card"><?= $r['car_number'] ?> — <?= $r['description'] ?> [<?= $r['status'] ?>]</div> <?php endwhile; ?> <?php include "db.php" отрпавка; if (!isset($_SESSION['user_id'])) header("Location: login.php"); $error = ""; if ($_POST) { $uid = $_SESSION['user_id']; $car = trim($_POST['car']); $desc = trim($_POST['desc']); if (!$car || !$desc) { $error = "Все поля обязательны"; } else { $conn->query("INSERT INTO statements (user_id, car_number, description) VALUES ($uid, '$car', '$desc')"); header("Location: statements.php"); } } ?> <link rel="stylesheet" href="style.css"> <meta name="viewport" content="width=device-width, initial-scale=1"> <form method="post" class="form"> <h2>Новое заявление</h2> <?php if ($error) echo "<div class='error'>$error</div>"; ?> <input name="car" placeholder="Номер авто"><br> <textarea name="desc" placeholder="Описание"></textarea><br> <button>Отправить</button> </form> <style> /* Общие стили */ body { font-family: sans-serif; background: #f0f0f0; padding: 20px; margin: 0; animation: fadeIn 1s ease-in; } /* Заголовки и ссылки */ h2 { color: [#333](https://github.com/traktorzuzia/asasasasas/issues/333); } .link { display: inline-block; margin-top: 10px; color: #007bff; text-decoration: none; transition: color 0.3s; animation: fadeIn 1.5s ease; } .link:hover { color: #0056b3; } /* Анимации */ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes slideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } /* Карточки */ .card { background: #fff; margin-bottom: 20px; padding: 20px; border-radius: 10px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); animation: slideUp 0.4s ease-in-out; } .card p { margin: 6px 0; color: [#333](https://github.com/traktorzuzia/asasasasas/issues/333); } /* Форма внутри карточки */ .form { margin-top: 10px; } input, textarea, button { display: block; width: 100%; margin: 10px 0; padding: 10px; border-radius: 5px; border: 1px solid #ccc; font-size: 14px; box-sizing: border-box; } button { background: #28a745; color: white; border: none; cursor: pointer; transition: background 0.3s ease; } button:hover { background: [#218838](https://github.com/traktorzuzia/asasasasas/issues/218838); } button[value="отклонено"] { background: #dc3545; } button[value="отклонено"]:hover { background: #c82333; } /* Сообщение об ошибке */ .error { color: red; background: #ffe0e0; padding: 10px; margin-bottom: 10px; border-radius: 5px; } /* Таблица (если понадобится) */ .table { width: 100%; border-collapse: collapse; background: white; } .table th, .table td { padding: 10px; border: 1px solid #ccc; text-align: left; } /* Адаптивность */ @media (max-width: 600px) { .card { padding: 15px; } button { font-size: 16px; } } </style> |