Files
D1041231091-WebGIS-All/05/register.php
T

59 lines
3.3 KiB
PHP

<?php
require_once __DIR__ . '/auth.php';
$error = '';
$success = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$nama = clean_text(post('nama'), 100);
$username = clean_text(post('username'), 50);
$password = post('password');
$password2 = post('password2');
if ($nama === '' || $username === '' || strlen($password) < 6) {
$error = 'Nama, username, dan password minimal 6 karakter wajib diisi.';
} elseif ($password !== $password2) {
$error = 'Konfirmasi password tidak sama.';
} else {
$cek = $koneksi->prepare("SELECT id FROM users WHERE username=? LIMIT 1");
$cek->bind_param('s', $username);
$cek->execute();
if ($cek->get_result()->fetch_assoc()) {
$error = 'Username sudah digunakan.';
} else {
// password_hash() untuk keamanan password.
$hash = password_hash($password, PASSWORD_DEFAULT);
$role = 'penerima';
$stmt = $koneksi->prepare("INSERT INTO users (nama, username, password, role) VALUES (?,?,?,?)");
$stmt->bind_param('ssss', $nama, $username, $hash, $role);
if ($stmt->execute()) {
$success = 'Registrasi berhasil. Silakan login.';
} else {
$error = 'Registrasi gagal: ' . $koneksi->error;
}
}
}
}
?>
<!doctype html>
<html lang="id">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
<title>Registrasi Penerima</title>
<style>
*{box-sizing:border-box} body{margin:0;min-height:100vh;font-family:Arial,sans-serif;background:#f1f5f9;display:flex;align-items:center;justify-content:center;padding:20px}.card{width:100%;max-width:460px;background:#fff;border-radius:18px;box-shadow:0 12px 32px rgba(15,23,42,.12);padding:28px}h1{margin:0 0 5px;color:#0f172a;font-size:23px}.muted{color:#64748b;font-size:13px;margin-bottom:16px}.fg{margin:13px 0}.fg label{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:#334155}.fg input{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:12px}.btn{width:100%;border:0;border-radius:10px;padding:12px;background:#0f766e;color:#fff;font-weight:700;cursor:pointer}.msg{padding:10px;border-radius:10px;font-size:13px;margin:10px 0}.err{background:#fee2e2;color:#991b1b}.ok{background:#dcfce7;color:#166534}.links{text-align:center;margin-top:15px}.links a{color:#0f766e;text-decoration:none;font-weight:700}
</style>
</head>
<body><div class="card">
<h1>Registrasi Penerima</h1><div class="muted">Akun ini digunakan untuk mengajukan penerima bantuan melalui peta.</div>
<?php if($error): ?><div class="msg err"><?= htmlspecialchars($error) ?></div><?php endif; ?>
<?php if($success): ?><div class="msg ok"><?= htmlspecialchars($success) ?></div><?php endif; ?>
<form method="post">
<div class="fg"><label>Nama Lengkap</label><input name="nama" required></div>
<div class="fg"><label>Username</label><input name="username" required></div>
<div class="fg"><label>Password</label><input type="password" name="password" required></div>
<div class="fg"><label>Konfirmasi Password</label><input type="password" name="password2" required></div>
<button class="btn">Daftar</button>
</form>
<div class="links"><a href="login.php">Kembali ke login</a></div>
</div></body></html>