1. <?php
  2. /**
  3. * Sanitizes form input using default values as a fallback.
  4. *
  5. * @param array $postData Array of form data.
  6. * @param array $defaults Array of default values.
  7. * @return array Sanitized form data.
  8. */
  9. function sanitizeFormInput(array $postData, array $defaults): array
  10. {
  11. $sanitizedData = [];
  12. foreach ($defaults as $key => $defaultValue) {
  13. // Get the user-submitted value, or the default if not provided.
  14. $value = isset($postData[$key]) ? $postData[$key] : $defaultValue;
  15. // Sanitize the input. This is a basic example; adjust as needed.
  16. $sanitizedData[$key] = trim(htmlspecialchars($value));
  17. }
  18. return $sanitizedData;
  19. }
  20. // Example Usage:
  21. // Assume $postData contains data from a form submission.
  22. // Assume $defaults defines the default values for the form fields.
  23. // Example defaults
  24. $defaults = [
  25. 'name' => 'Guest',
  26. 'email' => '',
  27. 'message' => 'Please enter a message.',
  28. 'age' => 0,
  29. 'city' => 'Unknown'
  30. ];
  31. // Example form data (simulated)
  32. $postData = [
  33. 'name' => 'John Doe',
  34. 'email' => 'john.doe@example.com',
  35. 'message' => 'This is a test message.',
  36. 'age' => '30',
  37. 'city' => ''
  38. ];
  39. $sanitizedData = sanitizeFormInput($postData, $defaults);
  40. // Now $sanitizedData contains the sanitized values, using defaults where necessary.
  41. print_r($sanitizedData);
  42. ?>

Add your comment