'address', 'message' => 'Error: A valid address is required.' ])); } if (!isset($quantity) || (int) $quantity <= 0) { http_response_code(400); header('Content-Type: application/json'); die(json_encode([ 'field' => 'quantity', 'message' => 'Error: A quantity is required.' ])); } if (!isset($wire)) { http_response_code(400); header('Content-Type: application/json'); die(json_encode([ 'field' => 'wire_stake', 'message' => 'Error: Wire stake preference needs to be specified.' ])); } $conn = new mysqli("localhost", "mileslinden", "Daiso@6969", "mileslinden"); $query = $conn->prepare( "INSERT INTO subscribers (`address`, `quantity`, `wire_stake`, `join_date`) VALUES (?, ?, ?, ?)" ); if (!$query) { http_response_code(500); header('Content-Type: application/json'); die(json_encode(['message' => $conn->error])); } if (!isset($_SESSION['signs'])) { $_SESSION['signs'] = 0; } else if ($_SESSION['signs'] >= 5) { http_response_code(429); header('Content-Type: application/json'); die(json_encode(['message' => 'You are requesting signs too often.'])); } $query->bind_param( "sibs", $address, $quantity, $wire, date("Y-m-d H:i:s") ); if (!$query->execute()) { http_response_code(500); header('Content-Type: application/json'); if ($query->errno === 1062) { http_response_code(400); header('Content-Type: application/json'); die(json_encode(['message' => 'This address has already requested a sign.', 'field' => 'address'])); } else { die(json_encode(['message' => $query->error, 'errno' => $query->errno])); } } $_SESSION['signs']++; ?>