/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/php/php-507-113-003/main.php
74 строки
3 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
<?php require_once 'config.php'; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $email = trim($_POST['email'] ?? ''); $password = $_POST['password'] ?? ''; $password_confirm = $_POST['password_confirm'] ?? ''; if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $error = 'Некорректный формат email'; } elseif (strlen($password) < 8) { $error = 'Пароль должен содержать не менее 8 символов'; } elseif ($password !== $password_confirm) { $error = 'Пароли не совпадают'; } else { $stmt = $pdo->prepare("SELECT id FROM users WHERE email = ?"); $stmt->execute([$email]); if ($stmt->fetch()) { $error = 'Пользователь с таким email уже существует'; } else { $password_hash = password_hash($password, PASSWORD_DEFAULT); $stmt = $pdo->prepare("INSERT INTO users (email, password_hash) VALUES (?, ?)"); $stmt->execute([$email, $password_hash]); $_SESSION['user_id'] = $pdo->lastInsertId(); header('Location: index.php'); exit; } } } ?> <!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>Регистрация</title> <style> body { font-family: Arial, sans-serif; max-width: 400px; margin: 50px auto; padding: 20px; } .form-group { margin-bottom: 15px; } label { display: block; margin-bottom: 5px; } input { width: 100%; padding: 8px; box-sizing: border-box; } button { width: 100%; padding: 10px; background: #007bff; color: white; border: none; cursor: pointer; } .error { color: #dc3545; margin-bottom: 15px; } </style> </head> <body> <h1>Регистрация</h1> <?php if (isset($error)): ?> <div class="error"><?php echo htmlspecialchars($error); ?></div> <?php endif; ?> <form method="post"> <div class="form-group"> <label for="email">Email</label> <input type="email" id="email" name="email" required> </div> <div class="form-group"> <label for="password">Пароль</label> <input type="password" id="password" name="password" required> </div> <div class="form-group"> <label for="password_confirm">Подтверждение пароля</label> <input type="password" id="password_confirm" name="password_confirm" required> </div> <button type="submit">Зарегистрироваться</button> </form> <a href="login.php" style="display: block; text-align: center; margin-top: 20px; color: #007bff; text-decoration: none;"> Уже есть аккаунт? Войти </a> </body> </html>