diff --git a/Register.js b/Register.js index c5c9b58..6cda798 100644 --- a/Register.js +++ b/Register.js @@ -29,7 +29,6 @@ document.getElementById("registerForm").addEventListener("submit", async functio // Button loading state const submitBtn = this.querySelector("button[type='submit']"); const originalText = submitBtn.textContent; - submitBtn.innerHTML = "Memproses..."; submitBtn.disabled = true; try { @@ -56,7 +55,6 @@ document.getElementById("registerForm").addEventListener("submit", async functio showModal("error", "Error!", msg); } finally { - submitBtn.textContent = originalText; submitBtn.disabled = false; } }); diff --git a/Register.php b/Register.php index 615567f..3cee4cd 100644 --- a/Register.php +++ b/Register.php @@ -1,36 +1,84 @@ "error", "message" => "Username dan password wajib diisi"]); + echo json_encode([ + "status" => "error", + "message" => "Username dan password wajib diisi" + ]); exit; } +// ✅ Validasi panjang password minimal +if (strlen($password) < 6) { + echo json_encode([ + "status" => "error", + "message" => "Password minimal 6 karakter" + ]); + exit; +} + +// ✅ Validasi format username (opsional tapi disarankan) +if (!preg_match('/^[a-zA-Z0-9_]{3,20}$/', $username)) { + echo json_encode([ + "status" => "error", + "message" => "Username hanya boleh huruf, angka, underscore (3-20 karakter)" + ]); + exit; +} + +// ✅ Cek apakah username sudah ada $check = $conn->prepare("SELECT id FROM users WHERE username = ?"); $check->bind_param("s", $username); $check->execute(); $check->store_result(); if ($check->num_rows > 0) { - echo json_encode(["status" => "error", "message" => "Username sudah digunakan"]); + echo json_encode([ + "status" => "error", + "message" => "Username sudah digunakan" + ]); $check->close(); $conn->close(); exit; } +$check->close(); +// ✅ Hash password dan insert ke database $hashedPassword = password_hash($password, PASSWORD_DEFAULT); $stmt = $conn->prepare("INSERT INTO users (username, password) VALUES (?, ?)"); $stmt->bind_param("ss", $username, $hashedPassword); if ($stmt->execute()) { - echo json_encode(["status" => "success", "message" => "Pendaftaran berhasil"]); + echo json_encode([ + "status" => "success", + "message" => "Pendaftaran berhasil" + ]); } else { - echo json_encode(["status" => "error", "message" => "Gagal mendaftar"]); + echo json_encode([ + "status" => "error", + "message" => "Gagal mendaftar: " . $conn->error + ]); } $stmt->close(); diff --git a/Register_Request.js b/Register_Request.js index d18fe6c..ac64fbd 100644 --- a/Register_Request.js +++ b/Register_Request.js @@ -1,4 +1,4 @@ -const BASE_URL = "http://202.46.28.160/Kelompok06_2048/"; +const BASE_URL = "http://localhost/Kelompok06_2048/"; export async function registerRequest(username, password) { if (!username || !password) { @@ -10,7 +10,7 @@ export async function registerRequest(username, password) { formData.append("password", password); try { - const response = await fetch(`${BASE_URL}Register.php`, { + const response = await fetch(`${BASE_URL}/Register.php`, { method: "POST", headers: { "Accept": "application/json"