Current directory: /home/klas4s23/domains/585455.klas4s23.mid-ica.nl/public_html/Gastenboek/uploads
<?php
// register.php
include 'config.php';
// Read JSON input
$json = file_get_contents('php://input');
$request_data = json_decode($json, true); // true for associative array
$username = $request_data['username'] ?? null;
$api_key = $request_data['api_key'] ?? null;
// Validate input
$username = htmlspecialchars(strip_tags($username));
$api_key = htmlspecialchars(strip_tags($api_key));
// Validate API key
if ($api_key !== API_KEY) {
echo json_encode(['status' => 'error', 'message' => 'Invalid API key: ' . $api_key . ' ', 'request_type' => 'register']);
exit;
}
function generate_token()
{
return bin2hex(random_bytes(16));
}
// Check if username already exists
$stmt = $db->prepare('SELECT id FROM users WHERE username = :username');
$stmt->bindValue(':username', $username);
$result = $stmt->execute();
$result = $stmt->fetch();
if ($result) {
echo json_encode(['status' => 'error', 'message' => 'Username already exists', 'request_type' => 'register']);
exit;
}
if (strlen($username) < 5) {
echo json_encode(['status' => 'error', 'message' => 'Username must be at least 5 characters long', 'request_type' => 'register']);
exit;
}
if (strlen($username) > 15) {
echo json_encode(['status' => 'error', 'message' => 'Username must be at most 15 characters long', 'request_type' => 'register']);
exit;
}
$token = generate_token();
// Insert new user into the database
$stmt = $db->prepare('INSERT INTO users (username, token) VALUES (:username, :token)');
$stmt->bindValue(':username', $username);
$stmt->bindValue(':token', $token);
$result = $stmt->execute();
if ($result) {
echo json_encode(['status' => 'success', 'request_type' => 'register', 'token' => $token]);
} else {
echo json_encode(['status' => 'error', 'request_type' => 'register']);
}