1st commit: version 1.0 WebGis-Pemetaan-Kemiskinan
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
session_start();
|
||||
header("Content-Type: application/json; charset=UTF-8");
|
||||
header("Access-Control-Allow-Methods: POST");
|
||||
require_once '../koneksi.php';
|
||||
|
||||
$data = json_decode(file_get_contents("php://input"));
|
||||
|
||||
if (!empty($data->username) && !empty($data->password)) {
|
||||
try {
|
||||
$stmt = $conn->prepare("SELECT id, username, password, role FROM users WHERE username = :username LIMIT 1");
|
||||
$stmt->bindValue(':username', $data->username);
|
||||
$stmt->execute();
|
||||
|
||||
if($stmt->rowCount() > 0) {
|
||||
$user = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
// Verifikasi hash password
|
||||
if(password_verify($data->password, $user['password'])) {
|
||||
$_SESSION['user_id'] = $user['id'];
|
||||
$_SESSION['username'] = $user['username'];
|
||||
$_SESSION['role'] = $user['role'];
|
||||
echo json_encode(["pesan" => "Login Berhasil!", "user" => $user['username']]);
|
||||
} else {
|
||||
http_response_code(401); echo json_encode(["error" => "Password salah."]);
|
||||
}
|
||||
} else {
|
||||
http_response_code(404); echo json_encode(["error" => "Username tidak ditemukan."]);
|
||||
}
|
||||
} catch(PDOException $e) {
|
||||
http_response_code(500); echo json_encode(["error" => "Database Error: " . $e->getMessage()]);
|
||||
}
|
||||
} else {
|
||||
http_response_code(400); echo json_encode(["error" => "Username dan Password wajib diisi."]);
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
session_start();
|
||||
session_unset();
|
||||
session_destroy();
|
||||
header("Content-Type: application/json; charset=UTF-8");
|
||||
echo json_encode(["pesan" => "Anda telah berhasil keluar."]);
|
||||
?>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
session_start();
|
||||
header("Content-Type: application/json; charset=UTF-8");
|
||||
header("Access-Control-Allow-Methods: POST");
|
||||
require_once '../koneksi.php';
|
||||
|
||||
$data = json_decode(file_get_contents("php://input"));
|
||||
|
||||
if (!empty($data->username) && !empty($data->password)) {
|
||||
try {
|
||||
// Cek apakah username sudah ada
|
||||
$stmt = $conn->prepare("SELECT id FROM users WHERE username = :username");
|
||||
$stmt->bindValue(':username', $data->username);
|
||||
$stmt->execute();
|
||||
if($stmt->rowCount() > 0) {
|
||||
http_response_code(400); die(json_encode(["error" => "Username sudah terdaftar, gunakan yang lain!"]));
|
||||
}
|
||||
|
||||
// Enkripsi password menggunakan BCRYPT
|
||||
$query = "INSERT INTO users (username, password) VALUES (:username, :password)";
|
||||
$stmt = $conn->prepare($query);
|
||||
$stmt->bindValue(':username', htmlspecialchars(strip_tags($data->username)));
|
||||
$stmt->bindValue(':password', password_hash($data->password, PASSWORD_BCRYPT));
|
||||
|
||||
if($stmt->execute()) {
|
||||
echo json_encode(["pesan" => "Registrasi berhasil, silakan login!"]);
|
||||
}
|
||||
} catch(PDOException $e) {
|
||||
http_response_code(500); echo json_encode(["error" => "Database Error: " . $e->getMessage()]);
|
||||
}
|
||||
} else {
|
||||
http_response_code(400); echo json_encode(["error" => "Username dan Password wajib diisi."]);
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
session_start();
|
||||
header("Content-Type: application/json; charset=UTF-8");
|
||||
|
||||
if(isset($_SESSION['user_id'])) {
|
||||
echo json_encode(["status" => "aktif", "username" => $_SESSION['username']]);
|
||||
} else {
|
||||
http_response_code(401);
|
||||
echo json_encode(["status" => "tidak_aktif", "error" => "Sesi kedaluwarsa atau belum login."]);
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user