<?php
require_once __DIR__.'/boot.php';
// Проверим, не занято ли имя пользователя
$stmt = pdo()->prepare("SELECT * FROM `accounts` WHERE `login` = :username");
$stmt->execute(['username' => $_POST['login']]);
if ($stmt->rowCount() > 0) {
flash('Это имя пользователя уже занято.');
echo('Это имя пользователя уже занято.');
header('Location: register.php'); // Возврат на форму регистрации
die; // Остановка выполнения скрипта
}
$name = $_POST["name"];
$login = $_POST["login"];
$pass = $_POST["password"];
$phone = $_POST["phone"];
$email = $_POST["email"];
$bio = $_POST["bio"];
// Добавим пользователя в базу
$stmt = pdo()->prepare("INSERT INTO `accounts` (`login`, `password`, `name`, `bio`, `email`, `phone`, `rating`) VALUES (:login, :password, :name, :bio, :email, :phone, '1')");
$stmt->execute([
'login' => $login,
'password' => $pass,
'phone' => $phone,
'email' => $email,
'bio' => $bio,
'name' => $name,
]);
header('Location: login.php');
require_once __DIR__.'/boot.php';
require_once __DIR__.'/boot.php';
require_once $_SERVER['DOCUMENT_ROOT'].'/boot.php';
<?php
// Инициализируем сессию
session_start();
// Простой способ сделать глобально доступным подключение в БД
function pdo(): PDO
{
static $pdo;
if (!$pdo) {
$config = include __DIR__.'/config.php';
// Подключение к БД
$dsn = 'mysql:dbname='.$config['db_name'].';host='.$config['db_host'];
$pdo = new PDO($dsn, $config['db_user'], $config['db_pass']);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
error_reporting(E_ALL);
ini_set('display_startup_errors', 1);
ini_set('display_errors', '1');
}
return $pdo;
}
function flash(?string $message = null)
{
if ($message) {
$_SESSION['flash'] = $message;
} else {
if (!empty($_SESSION['flash'])) { ?>
<div class="alert alert-danger mb-3">
<?=$_SESSION['flash']?>
</div>
<?php }
unset($_SESSION['flash']);
}
}
<?php
error_reporting(E_ALL);
ini_set('display_startup_errors', 1);
ini_set('display_errors', '1');
require_once '../boot.php';
// Проверим, не занято ли имя пользователя
$stmt = pdo()->prepare("SELECT * FROM `accounts` WHERE `login` = :login");
$stmt->execute(['login' => $_POST['login']]);
if ($stmt->rowCount() > 0) {
flash('Это имя пользователя уже занято.');
echo('Это имя пользователя уже занято.');
header('Location: register.php'); // Возврат на форму регистрации
die; // Остановка выполнения скрипта
}
// Добавим пользователя в базу
$stmt = pdo()->prepare("INSERT INTO `accounts` (`login`, `password`, `name`, `bio`, `email`, `phone`, `rating`) VALUES (:login, :password, :name, :bio, :email, :phone, '1')");
$stmt->execute([
'login' => $_POST["login"],
'password' => $_POST["password"],
'phone' => $_POST["phone"],
'email' => $_POST["email"],
'bio' => $_POST["bio"],
'name' => $_POST["name"],
]);
header('Location: login.php');