php
This commit is contained in:
parent
e4898388d1
commit
9ea5612980
14
Database.php
14
Database.php
@ -1,11 +1,13 @@
|
|||||||
<?php
|
<?php
|
||||||
$host = "localhost";
|
$DB_HOST = "";
|
||||||
$user = "root";
|
$DB_USER = "";
|
||||||
$pass = "";
|
$DB_PASS = "";
|
||||||
$db = "game2048";
|
$DB_NAME = "";
|
||||||
|
|
||||||
$conn = new mysqli($host, $user, $pass, $db);
|
$conn = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
|
||||||
if ($conn->connect_error) {
|
if ($conn->connect_error) {
|
||||||
die("Koneksi gagal: " . $conn->connect_error);
|
http_response_code(500);
|
||||||
|
die(json_encode(["status"=>"error","message"=>"Database connection failed"]));
|
||||||
}
|
}
|
||||||
|
$conn->set_charset("utf8mb4");
|
||||||
?>
|
?>
|
||||||
33
Login.php
33
Login.php
@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-Type: application/json');
|
||||||
|
include 'Database.php';
|
||||||
|
session_start();
|
||||||
|
|
||||||
|
$data = $_POST;
|
||||||
|
if (empty($data['username']) || empty($data['password'])) {
|
||||||
|
echo json_encode(["status"=>"error","message"=>"Username & password dibutuhkan"]);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
$username = trim($data['username']);
|
||||||
|
$password = $data['password'];
|
||||||
|
|
||||||
|
$stmt = $conn->prepare("SELECT id, password FROM users WHERE username = ?");
|
||||||
|
$stmt->bind_param("s", $username);
|
||||||
|
$stmt->execute();
|
||||||
|
$stmt->bind_result($id, $hash);
|
||||||
|
if ($stmt->fetch()) {
|
||||||
|
if (password_verify($password, $hash)) {
|
||||||
|
session_regenerate_id(true);
|
||||||
|
$_SESSION['user_id'] = $id;
|
||||||
|
$_SESSION['username'] = $username;
|
||||||
|
echo json_encode(["status"=>"success","message"=>"Login berhasil"]);
|
||||||
|
} else {
|
||||||
|
echo json_encode(["status"=>"error","message"=>"Password salah"]);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
echo json_encode(["status"=>"error","message"=>"User tidak ditemukan"]);
|
||||||
|
}
|
||||||
|
$stmt->close();
|
||||||
|
$conn->close();
|
||||||
|
?>
|
||||||
14
Logout.php
Normal file
14
Logout.php
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-Type: application/json');
|
||||||
|
session_start();
|
||||||
|
$_SESSION = [];
|
||||||
|
if (ini_get("session.use_cookies")) {
|
||||||
|
$params = session_get_cookie_params();
|
||||||
|
setcookie(session_name(), '', time() - 42000,
|
||||||
|
$params["path"], $params["domain"],
|
||||||
|
$params["secure"], $params["httponly"]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
session_destroy();
|
||||||
|
echo json_encode(["status"=>"success","message"=>"Logout berhasil"]);
|
||||||
|
?>
|
||||||
37
Register.php
37
Register.php
@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-Type: application/json');
|
||||||
|
include 'Database.php';
|
||||||
|
session_start();
|
||||||
|
|
||||||
|
$data = $_POST;
|
||||||
|
if (empty($data['username']) || empty($data['password'])) {
|
||||||
|
echo json_encode(["status"=>"error","message"=>"Username & password dibutuhkan"]);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
$username = trim($data['username']);
|
||||||
|
$password = $data['password'];
|
||||||
|
|
||||||
|
$stmt = $conn->prepare("SELECT id FROM users WHERE username = ?");
|
||||||
|
$stmt->bind_param("s", $username);
|
||||||
|
$stmt->execute();
|
||||||
|
$stmt->store_result();
|
||||||
|
if ($stmt->num_rows > 0) {
|
||||||
|
echo json_encode(["status"=>"error","message"=>"Username sudah terpakai"]);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
$stmt->close();
|
||||||
|
|
||||||
|
$hash = password_hash($password, PASSWORD_DEFAULT);
|
||||||
|
$stmt = $conn->prepare("INSERT INTO users (username, password) VALUES (?, ?)");
|
||||||
|
$stmt->bind_param("ss", $username, $hash);
|
||||||
|
if ($stmt->execute()) {
|
||||||
|
$_SESSION['user_id'] = $stmt->insert_id;
|
||||||
|
$_SESSION['username'] = $username;
|
||||||
|
echo json_encode(["status"=>"success","message"=>"Register berhasil"]);
|
||||||
|
} else {
|
||||||
|
echo json_encode(["status"=>"error","message"=>"Gagal mendaftar"]);
|
||||||
|
}
|
||||||
|
$stmt->close();
|
||||||
|
$conn->close();
|
||||||
|
?>
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
include 'Database.php';
|
||||||
|
session_start();
|
||||||
|
|
||||||
|
if (isset($_SESSION['username'])) {
|
||||||
|
$username = $_SESSION['username'];
|
||||||
|
$score = $_POST['score'];
|
||||||
|
|
||||||
|
$query = "INSERT INTO leaderboard (username, score) VALUES ('$username', '$score')";
|
||||||
|
mysqli_query($conn, $query);
|
||||||
|
|
||||||
|
echo json_encode(["status" => "success"]);
|
||||||
|
} else {
|
||||||
|
echo json_encode(["status" => "error", "message" => "Not logged in"]);
|
||||||
|
}
|
||||||
|
?>
|
||||||
Loading…
x
Reference in New Issue
Block a user