<?php
/**
* Measures form submission performance for hypothesis validation with basic input validation.
*/
// Function to validate form input (basic example)
function validateForm($data) {
if (empty($data['name'])) {
return false, "Name is required.";
}
if (empty($data['email']) || !filter_var($data['email'], FILTER_VALIDATE_EMAIL)) {
return false, "Invalid email address.";
}
if (strlen($data['message']) < 10) {
return false, "Message must be at least 10 characters.";
}
return true, null; // Validation successful
}
// Function to measure form submission time
function measureSubmissionTime() {
$startTime = microtime(true);
// Simulate form processing (replace with your actual validation/processing logic)
$formData = $_POST; // Get form data (example)
$isValid, $error = validateForm($formData);
$endTime = microtime(true);
$executionTime = $endTime - $startTime;
if ($isValid) {
return ['success' => true, 'time' => $executionTime];
} else {
return ['success' => false, 'time' => $executionTime, 'error' => $error];
}
}
// Main execution
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$result = measureSubmissionTime();
if ($result['success']) {
echo "Form submitted successfully. Execution time: " . number_format($result['time'], 4) . " seconds.";
} else {
echo "Form submission failed: " . $result['error'];
echo "Execution time: " . number_format($result['time'], 4) . " seconds.";
}
} else {
// Display the form (example)
?>
<form method="post">
Name: <input type="text" name="name"><br><br>
Email: <input type="email" name="email"><br><br>
Message: <textarea name="message"></textarea><br><br>
<input type="submit" value="Submit">
</form>
<?php
}
?>
Add your comment