<?php
/**
* Sanitizes form input using default values as a fallback.
*
* @param array $postData Array of form data.
* @param array $defaults Array of default values.
* @return array Sanitized form data.
*/
function sanitizeFormInput(array $postData, array $defaults): array
{
$sanitizedData = [];
foreach ($defaults as $key => $defaultValue) {
// Get the user-submitted value, or the default if not provided.
$value = isset($postData[$key]) ? $postData[$key] : $defaultValue;
// Sanitize the input. This is a basic example; adjust as needed.
$sanitizedData[$key] = trim(htmlspecialchars($value));
}
return $sanitizedData;
}
// Example Usage:
// Assume $postData contains data from a form submission.
// Assume $defaults defines the default values for the form fields.
// Example defaults
$defaults = [
'name' => 'Guest',
'email' => '',
'message' => 'Please enter a message.',
'age' => 0,
'city' => 'Unknown'
];
// Example form data (simulated)
$postData = [
'name' => 'John Doe',
'email' => 'john.doe@example.com',
'message' => 'This is a test message.',
'age' => '30',
'city' => ''
];
$sanitizedData = sanitizeFormInput($postData, $defaults);
// Now $sanitizedData contains the sanitized values, using defaults where necessary.
print_r($sanitizedData);
?>
Add your comment