35845-vm/index.php
Flatlogic Bot f2fd1d30f2 second
2025-11-19 14:11:32 +00:00

186 lines
10 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- SEO and Meta Tags -->
<title>Имя Фамилия | Личное Портфолио</title>
<meta name="description" content="Личный сайт-портфолио для демонстрации работ и получения контактных запросов.">
<meta name="keywords" content="личное портфолио, веб-разработчик, дизайнер, форма обратной связи, проекты, резюме, flatlogic, php, lamp">
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website">
<meta property="og:title" content="Имя Фамилия | Личное Портфолио">
<meta property="og:description" content="Личный сайт-портфолио для демонстрации работ и получения контактных запросов.">
<meta property="og:image" content="<?php echo htmlspecialchars($_SERVER['PROJECT_IMAGE_URL'] ?? ''); ?>">
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Имя Фамилия | Личное Портфолио">
<meta name="twitter:description" content="Личный сайт-портфолио для демонстрации работ и получения контактных запросов.">
<meta name="twitter:image" content="<?php echo htmlspecialchars($_SERVER['PROJECT_IMAGE_URL'] ?? ''); ?>">
<!-- Google Fonts: Poppins -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap" rel="stylesheet">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Bootstrap Icons -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<!-- Custom CSS -->
<link rel="stylesheet" href="assets/css/custom.css?v=<?php echo time(); ?>">
</head>
<body class="dark-theme">
<!-- Particles.js container -->
<div id="particles-js"></div>
<!-- Toast container for notifications -->
<div id="toast-container" class="position-fixed top-0 end-0 p-3" style="z-index: 1100"></div>
<!-- Header -->
<header class="sticky-top">
<nav class="navbar navbar-expand-lg">
<div class="container">
<a class="navbar-brand fw-bold" href="#">Имя Фамилия</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="#about">Обо мне</a></li>
<li class="nav-item"><a class="nav-link" href="projects.php">Портфолио</a></li>
<li class="nav-item"><a class="nav-link" href="#contact">Контакт</a></li>
<li class="nav-item"><a class="nav-link" href="/admin">Админка</a></li>
<li class="nav-item"><a class="nav-link" href="tools.php">Инструменты</a></li>
</ul>
</div>
</div>
</nav>
</header>
<main>
<!-- Hero Section -->
<section class="hero text-center">
<div class="container">
<h1 class="display-4">Креативный разработчик и дизайнер</h1>
<p class="lead">Я создаю красивые и функциональные сайты. Добро пожаловать в мое личное пространство в сети.</p>
<a href="#contact" class="btn btn-accent btn-lg mt-3">Связаться</a>
</div>
</section>
<!-- About Section -->
<section id="about" class="section">
<div class="container">
<h2 class="text-center section-title">Обо мне</h2>
<div class="row align-items-center">
<div class="col-md-4 text-center">
<img src="https://i.pravatar.cc/300?u=a042581f4e29026704d" class="img-fluid rounded-circle mb-4 mb-md-0 profile-pic" alt="Портрет">
</div>
<div class="col-md-8">
<p>Привет! Я увлеченный разработчик со склонностью к созданию элегантных решений в кратчайшие сроки. Я люблю чистый код, хороший дизайн и чашку кофе. Мой опыт охватывает различные технологии, что позволяет мне решать разнообразные задачи.</p>
<p>Этот сайт демонстрация моего пути и навыков. Он построен на классическом стеке LAMP, демонстрируя мощность и гибкость этой надежной технологии. Не стесняйтесь осмотреться и написать мне, если хотите сотрудничать!</p>
</div>
</div>
</div>
</section>
<?php
require_once __DIR__ . '/db/config.php';
$projects = [];
try {
$pdo = db();
if ($pdo) {
$stmt = $pdo->query("SELECT * FROM projects ORDER BY created_at DESC");
if ($stmt) {
$projects = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
}
} catch (PDOException $e) {
// Log error or handle it gracefully
error_log("Database error: " . $e->getMessage());
}
?>
<!-- Portfolio Section -->
<section id="portfolio" class="section">
<div class="container">
<h2 class="text-center section-title">Мои работы</h2>
<div class="row g-4">
<?php if (empty($projects)): ?>
<div class="col">
<p class="text-center">Пока нет проектов для отображения. Зайдите позже!</p>
</div>
<?php else: ?>
<?php foreach ($projects as $project): ?>
<div class="col-md-6 col-lg-4">
<div class="card portfolio-item">
<img src="<?php echo htmlspecialchars($project['image_url'] ?: 'https://picsum.photos/seed/'.htmlspecialchars($project['id']).'/400/300'); ?>" class="card-img-top" alt="<?php echo htmlspecialchars($project['title']); ?>">
<div class="card-body">
<h5 class="card-title"><?php echo htmlspecialchars($project['title']); ?></h5>
<p class="card-text"><?php echo htmlspecialchars($project['description']); ?></p>
</div>
<div class="card-footer">
<a href="project.php?id=<?php echo $project['id']; ?>" class="btn btn-sm btn-outline-accent">Подробнее</a>
</div>
</div>
</div>
<?php endforeach; ?>
<?php endif; ?>
</div>
</div>
</section>
<!-- Contact Section -->
<section id="contact" class="section">
<div class="container">
<h2 class="text-center section-title">Свяжитесь со мной</h2>
<div class="row justify-content-center">
<div class="col-lg-8">
<form action="contact.php" method="POST" class="needs-validation" novalidate>
<div class="mb-3">
<label for="name" class="form-label">Имя</label>
<input type="text" class="form-control" id="name" name="name" required>
<div class="invalid-feedback">Пожалуйста, введите ваше имя.</div>
</div>
<div class="mb-3">
<label for="email" class="form-label">Email</label>
<input type="email" class="form-control" id="email" name="email" required>
<div class="invalid-feedback">Пожалуйста, введите корректный email.</div>
</div>
<div class="mb-3">
<label for="message" class="form-label">Сообщение</label>
<textarea class="form-control" id="message" name="message" rows="5" required></textarea>
<div class="invalid-feedback">Пожалуйста, введите ваше сообщение.</div>
</div>
<div class="text-center">
<button type="submit" class="btn btn-accent btn-lg">Отправить</button>
</div>
</form>
</div>
</div>
</div>
</section>
</main>
<!-- Footer -->
<footer class="text-center p-4">
<div class="container">
<p class="mb-0">&copy; <?php echo date("Y"); ?> Имя Фамилия. Все права защищены.</p>
</div>
</footer>
<!-- Bootstrap JS Bundle -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<!-- Particles.js -->
<script src="https://cdn.jsdelivr.net/particles.js/2.0.0/particles.min.js"></script>
<!-- Custom JS -->
<script src="assets/js/main.js?v=<?php echo time(); ?>"></script>
</body>
</html>