The approach I usually take is to check to see if your submit input exists and construct the page based on that condition.
For example, if your submit/send button was constructed similar to this:
<input class="cta" type="submit" name="submit_all" value="Send message">
Then your condition check would look like:
if ( isset( $_POST['submit_all'] ) ) {
// Do the stuff with $_POST array
} else {
// No submission yet, show the form
}
The key in the $_POST array will match the name attribute of your input.
Elaine’s comment is a good one as the action attribute determines where to POST the submission data. In WordPress, using the permalink is a good option.
<form id="####" class="####" method="post" action="<?php echo esc_url( the_permalink() ); ?>">
EDIT: based on the code you added to the question, I recommend updating the action attribute on the form element. Also, I have updated the condition example to use your submit_all value.