🚀 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>
|