1. <?php
  2. /**
  3. * Measures form submission performance for hypothesis validation with basic input validation.
  4. */
  5. // Function to validate form input (basic example)
  6. function validateForm($data) {
  7. if (empty($data['name'])) {
  8. return false, "Name is required.";
  9. }
  10. if (empty($data['email']) || !filter_var($data['email'], FILTER_VALIDATE_EMAIL)) {
  11. return false, "Invalid email address.";
  12. }
  13. if (strlen($data['message']) < 10) {
  14. return false, "Message must be at least 10 characters.";
  15. }
  16. return true, null; // Validation successful
  17. }
  18. // Function to measure form submission time
  19. function measureSubmissionTime() {
  20. $startTime = microtime(true);
  21. // Simulate form processing (replace with your actual validation/processing logic)
  22. $formData = $_POST; // Get form data (example)
  23. $isValid, $error = validateForm($formData);
  24. $endTime = microtime(true);
  25. $executionTime = $endTime - $startTime;
  26. if ($isValid) {
  27. return ['success' => true, 'time' => $executionTime];
  28. } else {
  29. return ['success' => false, 'time' => $executionTime, 'error' => $error];
  30. }
  31. }
  32. // Main execution
  33. if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  34. $result = measureSubmissionTime();
  35. if ($result['success']) {
  36. echo "Form submitted successfully. Execution time: " . number_format($result['time'], 4) . " seconds.";
  37. } else {
  38. echo "Form submission failed: " . $result['error'];
  39. echo "Execution time: " . number_format($result['time'], 4) . " seconds.";
  40. }
  41. } else {
  42. // Display the form (example)
  43. ?>
  44. <form method="post">
  45. Name: <input type="text" name="name"><br><br>
  46. Email: <input type="email" name="email"><br><br>
  47. Message: <textarea name="message"></textarea><br><br>
  48. <input type="submit" value="Submit">
  49. </form>
  50. <?php
  51. }
  52. ?>

Add your comment