<?php
session_start();
$msg = '';
require 'db_connect.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = trim($_POST['username'] ?? '');
$password = trim($_POST['password'] ?? '');
$email = $username . "@ebookstore.local"; // Använder användarnamnet som del av en placeholder-email
if (empty($username) || empty($password)) {
$msg = "Du måste fylla i både användarnamn och lösenord.";
} else {
try {
// Kolla om användarnamnet (cus_name) redan finns i databasen
$stmt = $pdo->prepare("SELECT COUNT(*) FROM customer WHERE cus_name = ?");
$stmt->execute([$username]);
if ($stmt->fetchColumn() > 0) {
$msg = "Användarnamnet finns redan.";
} else {
// Hasha lösenordet
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
// Lägg till ny användare i databasen
$stmt = $pdo->prepare("INSERT INTO customer (cus_name, cus_mail, cus_pass, cus_roll) VALUES (?, ?, ?, 'user')");
$stmt->execute([$username, $email, $hashed_password]);
header("Location: login_form.php?msg=Kontot är skapat! Logga in nedan.");
exit();
}
} catch (\PDOException $e) {
error_log("Database error during registration: " . $e->getMessage());
$msg = "Kunde inte skapa konto. Försök igen.";
}
}
}
?>
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="UTF-8">
<title>Registrera konto</title>
<link rel="stylesheet" href="style.css">
</head>
<body class="center-container">
<div class="box">
<h2>Registrera konto</h2>
<?php if ($msg): ?>
<p class="message error"><?= htmlspecialchars($msg) ?></p>
<?php endif; ?>
<form method="post">
<label>Användarnamn:</label>
<input type="text" name="username" placeholder="Användarnamn" required>
<label>Lösenord:</label>
<input type="password" name="password" placeholder="Lösenord" required>
<button type="submit" class="btn">Registrera</button>
</form>
<p><a class="back-link" href="login_form.php">Tillbaka till inloggning</a></p>
</div>
</body>
</html>