'email', 'message' => 'Error: An email address, first name, and last name are required.' ])); } if ($gender && $gender !== 'm' && $gender !== 'f') { http_response_code(400); header('Content-Type: application/json'); die(json_encode([ 'field' => 'full_name', 'message' => 'Error: An invalid gender was given.' ])); } $conn = new mysqli("localhost", "mileslinden", "Daiso@6969", "mileslinden"); $query = $conn->prepare( "INSERT INTO subscribers (`email`, `full_name`, `phone`, `gender`, `join_date`) VALUES (?, ?, ?, ?, ?)" ); if (!$query) { http_response_code(500); header('Content-Type: application/json'); die(json_encode(['message' => $conn->error])); } if (!isset($_SESSION['signups'])) { $_SESSION['signups'] = 0; } else if ($_SESSION['signups'] >= 5) { http_response_code(429); header('Content-Type: application/json'); die(json_encode(['message' => 'You are subscribing too often.'])); } $query->bind_param( "sssss", $email, $fname, $phone_num, $gender, 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 email is already subscribed.', 'field' => 'email'])); } else { die(json_encode(['message' => $query->error, 'errno' => $query->errno])); } } $_SESSION['signups']++; ?> Miles Linden for San Jose City Council

You have subscribed successfully.