Problème erreur formulaire de contact PHP

Lorsque je valide un formulaire avec des champs de saisie vide, j’aimerais que le titre de la page (au niveau de l’onglet) affiche un message d’erreur du type « Erreur sur le formulaire ».

J’ai essayé ce type de code en remplaçant la variable $title que j’avais utilisé en haut du code pour définir le titre de la page.

<h2 class="aligncenter h2 h2_contact">Contact</h2>
	<?php
	if (!empty($_POST)) {
			//var_dump($_POST);
			$erreurs = [];
			// Vérification du champ nom et prénom, email
			$nom = trim(strip_tags($_POST['nom'] ) );
			if (empty($_POST['nom'])) { // on vérifie que le champ nom ne soit pas vide.
				echo '<ul class="error_list"><li class="error_form">Le nom ne doit pas être vide</li>';

				$title = "erreur sur le formulaire";
				
			}

			$prenom = trim(strip_tags($_POST['prenom'] ) );
			if (empty($_POST['prenom'])) { // on vérifie que le champ nom ne soit pas vide.
				echo '<li class="error_form">Le prénom ne doit pas être vide</li>';
				$title = "erreur sur le formulaire";
			}

			$email = trim(strip_tags($_POST['email'] ) );
			if (empty($_POST['email'])) { // on vérifie que le champ nom ne soit pas vide.
				echo "<li class='error_form'>L'email ne doit pas être vide</li>";
				$title = "erreur sur le formulaire";
			}
		
				// Vérification de la validité de l'email. 
				if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) && !empty($_POST['email'])) {
					echo "<li class='error_form'>L email n est pas valide</li>";
				}

				$demandes = trim(strip_tags($_POST['demandes'] ) );
				if (empty($_POST['demandes'])) { // on vérifie que le champ nom ne soit pas vide.
				echo "<li class='error_form'>Le message ne doit pas être vide</li></ul>";
				$title = "erreur sur le formulaire";
				}
		

				
				if (!empty($erreurs)) {
				 echo 'Le formulaire a été envoyé avec succès';
					} 
				}

	?>

	<form method="POST" class="needs-validation aligncenter" id="needs-validation">
		<?php echo (isset($erreurs) && empty($erreurs)) ? '' : null ?>
		
		<label for="name" class="bl">Nom (obligatoire)&nbsp;:</label>
		<input type="text" name="nom" id="name" class="input_contact" aria-required="true"/> 


		<label for="firstname" class="bl">Prénom (obligatoire)&nbsp;:</label>
  		<input type="text" name="prenom" id="firstname" class="input_contact" aria-required="true"/>
		

		<label for="email" class="bl">Adresse <span lang="en">email</span> (obligatoire)&nbsp;:</label>
  		<input type="email" name="email" id="email" class="input_contact" aria-required="true"/>
  		


		<label for="answer" class="bl">Demandes / Suggestions (obligatoire)&nbsp;:</label>
  		<textarea name="demandes" id="answer" rows="10" cols="50" class="textarea_contact" aria-required="true"></textarea>
  		

		<fieldset role="radiogroup" aria-labelledby="group_radio" id="list_radio">
			<legend id="group_radio" class="center i_am">Vous êtes&nbsp;: </legend>
            
			<label for="person" class="bl">
				<input type="radio" name="you_are" id="person" class="input_radio" value="Une_personne_autiste" checked />
  				<span class="inbl w250p">Une personne autiste </span>
			</label>

			<label for="parent" class="bl">
				<input type="radio" name="you_are" id="parent" class="input_radio" value="parent" />
  				<span class="inbl w250p">Un parent</span>
			</label>

			<label for="near" class="bl">
				<input type="radio" name="you_are" id="near" class="input_radio" value="proche" />
  				<span class="inbl w250p">Un proche</span>
			</label>

			<label for="professional" class="bl">
				<input type="radio" name="you_are" id="professional" class="input_radio" value="professionnel" />
  				<span class="inbl w250p">Un(e) professionnel / lle</span>
			</label>

			<label for="association" class="bl">
				<input type="radio" name="you_are" id="association" class="input_radio" value="association" />
  				<span class="inbl w250p">Une association</span>
			</label>

			<label for="neurotypical" class="bl">
				<input type="radio" name="you_are" id="neurotypical" class="input_radio" value="neurotypique" />
  				<span class="inbl w250p">Un neurotypique / non-autiste</span>
			</label>
		</fieldset>

  		<div>
		<button type="submit" class="btn_contact inbl" id="btn_contact">Envoyer</button>
		</div>
	</form>

Actuellement, le titre de la page ne change pas lorsque les erreurs du formulaire apparaissent.

De plus, j’ai un autre souci concernant les erreurs du formulaire même. Lorsque j’appuie sur le bouton d’envoi et que mes champs de saisie sont vides, mes erreurs apparaissent bien mais lorsque je mets un mauvais format d’adresse-mail, j’ai bien une erreur mais elle vient du navigateur.

J’aimerais que toutes mes erreurs du formulaire apparaissent bien lorsque je valide un formulaire vide ou que je mets un mauvais format d’adresse-mail. J’aimerais que le message de confirmation apparaît également lorsque le formulaire est correctement rempli

Human Coders - Le centre de formation recommandé par les développeur·se·s pour les développeur·se·s