feat(login): menambah user baru dan memperbaiki desain box login

This commit is contained in:
Romeo3
2026-06-09 17:25:19 +07:00
parent bd8a64e1cf
commit b8184e8621
5 changed files with 44 additions and 13 deletions
+1 -2
View File
@@ -4,7 +4,7 @@ session_start();
// Tolak akses jika bukan admin // Tolak akses jika bukan admin
if (!isset($_SESSION['role']) || $_SESSION['role'] !== 'admin') { if (!isset($_SESSION['role']) || $_SESSION['role'] !== 'admin') {
http_response_code(403); // Status Forbidden http_response_code(403); // Status Forbidden
echo "Akses ditolak! Anda bukan operator."; echo "Akses ditolak! Anda bukan admin.";
exit; exit;
} }
@@ -32,4 +32,3 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST') {
} }
$conn->close(); $conn->close();
} }
?>
+2 -2
View File
@@ -1,6 +1,6 @@
<?php <?php
session_start(); session_start();
// Mengecek apakah user yang mengakses adalah admin/operator // Mengecek apakah user yang mengakses adalah admin
$isAdmin = isset($_SESSION['role']) && $_SESSION['role'] === 'admin'; $isAdmin = isset($_SESSION['role']) && $_SESSION['role'] === 'admin';
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
@@ -114,7 +114,7 @@ $isAdmin = isset($_SESSION['role']) && $_SESSION['role'] === 'admin';
<div class="profile-dropdown" id="profile-dropdown"> <div class="profile-dropdown" id="profile-dropdown">
<div class="dropdown-user-info"> <div class="dropdown-user-info">
<div class="dropdown-username"><?php echo htmlspecialchars($_SESSION['username']); ?></div> <div class="dropdown-username"><?php echo htmlspecialchars($_SESSION['username']); ?></div>
<div class="dropdown-role">Operator Wilayah</div> <div class="dropdown-role">Admin</div>
</div> </div>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<a href="logout.php" class="dropdown-item logout-link"> <a href="logout.php" class="dropdown-item logout-link">
+31 -2
View File
@@ -40,7 +40,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login Operator - WebGIS Pontianak</title> <title>Login Admin - WebGIS Pontianak</title>
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="style.css"> <link rel="stylesheet" href="style.css">
</head> </head>
@@ -53,7 +53,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
<path stroke-linecap="round" stroke-linejoin="round" d="M9 20l-5.447-2.724A1 1 0 013 16.382V5.618a1 1 0 011.447-.894L9 7m0 13l6-3m-6 3V7m6 10l4.553 2.276A1 1 0 0021 18.382V7.618a1 1 0 00-.553-.894L15 4m0 13V4m0 0L9 7" /> <path stroke-linecap="round" stroke-linejoin="round" d="M9 20l-5.447-2.724A1 1 0 013 16.382V5.618a1 1 0 011.447-.894L9 7m0 13l6-3m-6 3V7m6 10l4.553 2.276A1 1 0 0021 18.382V7.618a1 1 0 00-.553-.894L15 4m0 13V4m0 0L9 7" />
</svg> </svg>
</div> </div>
<h2>Login Operator</h2> <h2>Login Admin</h2>
<p>Masuk untuk mengelola data WebGIS</p> <p>Masuk untuk mengelola data WebGIS</p>
<?php if (isset($error)): ?> <?php if (isset($error)): ?>
@@ -73,8 +73,37 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
</form> </form>
<a href="index.php" class="back-link">← Kembali ke Peta</a> <a href="index.php" class="back-link">← Kembali ke Peta</a>
<div style="margin-top: 30px; padding: 16px; background-color: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 10px; text-align: left;">
<p style="margin: 0 0 12px 0; font-size: 12px; color: #94a3b8; font-weight: 600; text-align: center; letter-spacing: 1px;">
Akun Admin
</p>
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; font-size: 13px;">
<span style="color: #cbd5e1;"><span style="opacity: 0.7;">Admin</span></span>
<span style="color: #3b82f6; background-color: rgba(59, 130, 246, 0.1); padding: 3px 8px; border-radius: 4px; font-weight: 600;">admin</span>
</div>
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; font-size: 13px;">
<span style="color: #cbd5e1;"><span style="opacity: 0.7;">Admin Tingkat Provinsi</span></span>
<span style="color: #3b82f6; background-color: rgba(59, 130, 246, 0.1); padding: 3px 8px; border-radius: 4px; font-weight: 600;">adminProvinsi</span>
</div>
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; font-size: 13px;">
<span style="color: #cbd5e1;"> <span style="opacity: 0.7;">Admin Tingkat Kota</span></span>
<span style="color: #3b82f6; background-color: rgba(59, 130, 246, 0.1); padding: 3px 8px; border-radius: 4px; font-weight: 600;">adminKota</span>
</div>
<div style="border-top: 1px dashed rgba(255, 255, 255, 0.1); padding-top: 10px; text-align: center; font-size: 12px; color: #64748b;">
Password semua akun: <code style="color: #f87171; font-family: monospace; font-size: 13px;">password</code>
</div>
</div>
</div> </div>
</body> </body>
</html> </html>
+6 -3
View File
@@ -1509,10 +1509,11 @@ body {
/* Halaman Login Khusus */ /* Halaman Login Khusus */
.login-body { .login-body {
display: flex; display: flex;
align-items: center; overflow-y: auto;
justify-content: center;
min-height: 100vh; min-height: 100vh;
background: #0f172a; background: #0f172a;
padding: 40px 20px;
box-sizing: border-box;
background-image: radial-gradient(circle at top right, rgba(30, 64, 175, 0.15), transparent 40%), background-image: radial-gradient(circle at top right, rgba(30, 64, 175, 0.15), transparent 40%),
radial-gradient(circle at bottom left, rgba(15, 118, 110, 0.15), transparent 40%); radial-gradient(circle at bottom left, rgba(15, 118, 110, 0.15), transparent 40%);
} }
@@ -1523,11 +1524,13 @@ body {
-webkit-backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
border: 1px solid rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: var(--radius-lg); border-radius: var(--radius-lg);
padding: 32px; padding: 24px;
margin: auto;
width: 100%; width: 100%;
max-width: 380px; max-width: 380px;
box-shadow: var(--shadow-lg); box-shadow: var(--shadow-lg);
text-align: center; text-align: center;
} }
.login-logo { .login-logo {