I have used WordPress’ custom POST handler functionality before to solve a problem similar to the issue that you are having. Here is documentation from the codex on this: https://codex.wordpress.org/Plugin_API/Action_Reference/admin_post_(action)
Basically, you would use an action to handle the post request:
function my_handle_form_submit() {
// This is where you will control your form after it is submitted, you have access to $_POST here.
}
// Use your hidden "action" field value when adding the actions
add_action( 'admin_post_nopriv_my_simple_form', 'my_handle_form_submit' );
add_action( 'admin_post_my_simple_form', 'my_handle_form_submit' );
And modify your form a but so that WordPress knows to use your function to handle the request:
<!-- Submit the form to admin-post.php -->
<form action="<?php echo esc_url( admin_url('admin-post.php') ); ?>" method="POST">
<!-- Your form fields go here -->
<!-- Add a hidden form field with the name "action" and a unique value that you can use to handle the form submission -->
<input type="hidden" name="action" value="my_simple_form">
</form>