1. <?php
  2. /**
  3. * Decodes form submissions for batch processing.
  4. *
  5. * This script provides a simple way to decode data submitted via a form,
  6. * suitable for batch processing scenarios. It avoids external libraries
  7. * to keep dependencies minimal.
  8. *
  9. * @param array $post_data Array of form data (key => value).
  10. * @return array|false Decoded data, or false on error.
  11. */
  12. function decodeFormData(array $post_data): array|false {
  13. if (empty($post_data)) {
  14. return []; // Return empty array if no data is provided.
  15. }
  16. $decoded_data = [];
  17. foreach ($post_data as $key => $value) {
  18. //Basic data type handling. Could be extended.
  19. if (is_string($value)) {
  20. $decoded_data[$key] = trim($value); //Remove whitespace
  21. } elseif (is_numeric($value)) {
  22. $decoded_data[$key] = (float)$value; //Convert to float
  23. } elseif (is_array($value)) {
  24. $decoded_data[$key] = $value; //Keep as array
  25. } else {
  26. $decoded_data[$key] = $value; //Keep as is
  27. }
  28. }
  29. return $decoded_data;
  30. }
  31. //Example Usage (for testing)
  32. if ($_SERVER["REQUEST_METHOD"] == "POST") {
  33. $form_data = json_decode(file_get_contents("php://input"), true); //Get data from input
  34. if ($form_data !== null) {
  35. $decoded_data = decodeFormData($form_data);
  36. if ($decoded_data !== false) {
  37. echo "<pre>";
  38. print_r($decoded_data);
  39. echo "</pre>";
  40. } else {
  41. echo "Error decoding data.";
  42. }
  43. } else {
  44. echo "Invalid JSON data.";
  45. }
  46. }
  47. ?>

Add your comment