69 lines
3.2 KiB
PHP
69 lines
3.2 KiB
PHP
<?php
|
|
/**
|
|
* TELVERO USER MANAGEMENT (ENV VERSION)
|
|
*/
|
|
session_start();
|
|
require __DIR__ . '/vendor/autoload.php';
|
|
|
|
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
|
|
$dotenv->load();
|
|
|
|
// Beveiliging: Alleen toegankelijk voor ingelogde gebruikers (behalve bij de allereerste keer)
|
|
// if (!isset($_SESSION['user'])) { die("Toegang geweigerd"); }
|
|
|
|
$db = new mysqli($_ENV['DB_HOST'], $_ENV['DB_USER'], $_ENV['DB_PASS'], $_ENV['DB_NAME']);
|
|
|
|
if ($db->connect_error) {
|
|
die("Database connectie mislukt.");
|
|
}
|
|
|
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|
$user = $_POST['username'];
|
|
$pass = password_hash($_POST['password'], PASSWORD_DEFAULT);
|
|
$name = $_POST['full_name'];
|
|
|
|
$stmt = $db->prepare("INSERT INTO sales_users (username, password, full_name) VALUES (?, ?, ?)");
|
|
$stmt->bind_param("sss", $user, $pass, $name);
|
|
|
|
if ($stmt->execute()) {
|
|
$msg = "Gebruiker $user succesvol aangemaakt!";
|
|
} else {
|
|
$msg = "Fout bij aanmaken: " . $db->error;
|
|
}
|
|
}
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html lang="nl">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>User Management</title>
|
|
<script src="https://cdn.tailwindcss.com"></script>
|
|
</head>
|
|
<body class="bg-slate-100 min-h-screen flex items-center justify-center p-6">
|
|
<div class="max-w-md w-full bg-white p-10 rounded-[2.5rem] shadow-2xl">
|
|
<h2 class="text-2xl font-black mb-8 italic text-center text-slate-800">BEHEER <span class="text-blue-600">AGENTS</span></h2>
|
|
|
|
<?php if(isset($msg)) echo "<div class='mb-6 p-4 bg-green-50 text-green-600 rounded-2xl text-sm font-bold border border-green-100 text-center'>$msg</div>"; ?>
|
|
|
|
<form method="POST" class="space-y-4">
|
|
<div>
|
|
<label class="block text-[10px] font-black text-slate-400 uppercase tracking-widest mb-2 px-2">Gebruikersnaam</label>
|
|
<input type="text" name="username" placeholder="Bijv. agent_jan" class="w-full border-2 border-slate-50 p-4 rounded-2xl outline-none focus:border-blue-500 bg-slate-50 transition-all" required>
|
|
</div>
|
|
<div>
|
|
<label class="block text-[10px] font-black text-slate-400 uppercase tracking-widest mb-2 px-2">Wachtwoord</label>
|
|
<input type="password" name="password" placeholder="••••••••" class="w-full border-2 border-slate-50 p-4 rounded-2xl outline-none focus:border-blue-500 bg-slate-50 transition-all" required>
|
|
</div>
|
|
<div>
|
|
<label class="block text-[10px] font-black text-slate-400 uppercase tracking-widest mb-2 px-2">Volledige Naam</label>
|
|
<input type="text" name="full_name" placeholder="Jan de Vries" class="w-full border-2 border-slate-50 p-4 rounded-2xl outline-none focus:border-blue-500 bg-slate-50 transition-all" required>
|
|
</div>
|
|
<button type="submit" class="w-full bg-blue-600 text-white p-5 rounded-2xl font-black shadow-lg hover:bg-blue-700 transition active:scale-95 uppercase tracking-tighter">Agent Opslaan</button>
|
|
</form>
|
|
|
|
<div class="mt-8 text-center">
|
|
<a href="index.html" class="text-xs font-bold text-slate-400 hover:text-blue-600 transition underline uppercase">Terug naar Dashboard</a>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|