Bonjour
Je voudrais éviter un renvoi répétitif des données de mon formulaire (formulaire .html) dans une table. Les données sont traitées dans une page dénommée (validation. PHP) . Maintenant je vérifie d’abord au niveau de cette page si l’enregistrement envisagé via le formulaire n’existe pas déjà dans le formulaire si oui un message vous signale qu’il existe déjà dans la table et vous invite à effectuer un autre enregistrement jusque-là tout fonctionne nickel j’ai aucun problème. Le seul soucis est ,une fois les données transférées dans la table , si je rafraîchis la page validation.php un message d’avertissement s’affiche
« Pour actualiser cette page votre navigateur web doit de nouveau envoyer les informations que vous avez entrées … » ,
si j’appuie sur le bouton PRECEDENT de mon navigateur et que je me retrouve sur la page de mon formulaire (formulaire.html) et que j’appuie ensuite sur le bouton SUIVANT de mon navigateur ,les données du formulaire ne sont pas de nouveau enregistrées dans ma table comme je l’avais bien prévu dans mon code et le message vous signalant que cet enregistrement existe déjà dans la table s’affiche . Vous voyez ici mon code fonctionne comme je le souhaite mais le seul problème, est l’apparition du message d’avertissement si je rafraîchi la page validation.php je veux le faire disparaitre.
Pour y parvenir j’ai lu un cours sur comment éviter les renvois repetitifs de navigateur sur open classeroom
Ainsi j’ai créé un bout de code sur un page dénommée eviterméssageavertissement.php que je dois inclure dans ma page validation.php mais j’ai des difficultés à savoir le bon emplacement de ce code
Aidez moi ca me fatigue j’y suis depuis des jours mais ca ne marche pas.
Voici mon code
LE FORMULAIRE(formulaire.php)

<html > 
<body> 

<form action='validation.php'  method='POST'>
    Prénom : 
    <input type="text" name="prenom"/><br/>
    Adresse de messagerie : 
    <input type="text" name="email"/><br/>
    Âge : 
    <input type="INT" name="age"/><br/>
    <input type="submit" value="Envoyer"/>
</form>

</body> 
</html>


LA PAGE DE VALIDATION5validation.php)

<body>
<?php
//Valider toutes les données du formulaire
$options = array(
 //Enlever les balises.
    'prenom' => FILTER_SANITIZE_STRING,
	//Valider l'adresse de messagerie.
    'email' => FILTER_VALIDATE_EMAIL,
    'age' => array(
                         'filter' => FILTER_VALIDATE_INT, //Valider l'entier.
                     'options' => array(
                  'min_range' => 0 //Minimum 0.
                                  )
                                  )
                          );
						  
$resultat = filter_input_array(INPUT_POST, $options);
if($resultat != null) 
             { //Si le formulaire a bien été posté.
              //Enregistrer des messages d'erreur perso.
                           
                             $messageErreur = array(
                             'email' => 'L\'adresse de messagerie n\'est pas valide.',
                             'age' => 'Veuillez entrer un nombre entier positif pour votre âge.'
                             );

                            $nbrErreurs = 0;
                           
				 foreach($options as $cle => $valeur) 
							
				{ //Parcourir tous les champs voulus.

                                    if(empty($_POST[$cle])) 
					 { //Si le champ est vide.
                                             echo 'Veuillez remplir le champ ' . $cle . '.<br/>';
                                              $nbrErreurs++;
                                             }
                                     elseif($resultat[$cle] === false)
                                             { //S'il n'est pas valide.
                                              echo $messageErreur[$cle] . '<br/>';
                                              $nbrErreurs++;
                                              }
                          // Si les données saisies dans le formulaire respectent les formes exigées alors...
                                     if($nbrErreurs == 0
                                              {
                                                 if ( isset( $_POST['prenom'] )) 
			                                                {  $rechpren = $_POST['prenom'];
			                                                   $rechadresse = $_POST['email'];
			                                                   $rechage = $_POST['age'];
																	 
                    //	On verrifie d'abord l'eventuelle existence de l'enregistrement dans la table 
                                     try 
                                      {  $bdd =newPDO('mysql:host=localhost;dbname=comptes','root','',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); 
                                        } 
                                       catch(Exception $e) 
                                          { 
                                          die('Erreur : '.$e->getMessage()); 
                                           }

// On récupère d'abord l'engistrement liee a la fiche du client dans la table ''clients''

 $req = $bdd->prepare('SELECT prenom,email,age FROM clients WHERE prenom= [langue]renom AND email=:email AND age =:age');  
		 
		            $req-> execute(array(
 
                             'prenom'=> $rechpren ,
																			  
                              'email'=> $rechadresse ,
																			  
                              'age'=> $rechage,
						
        
                                 ));
																		          
                          $count = $req->rowCount();
						 
			 //On affiche chaque entrée une à une
                          while ($donnees = $req->fetch())
                               if($count> 0)
                                // Si le client existe dans la table on affichera
                                      { { echo "Cet enregistrement existe déjà dans la base de données<br> 
                                <br/>";
			echo $donnees['prenom'].'.......'.$donnees['email'].'................'.$donnees['age'].'<br>
                                 <br/>';
                                  exit;
                                    }
		 }
                        $req->closeCursor(); // Termine le traitement de la requête
          }
	else
// L'enregistrement n'existe pas dans la table on l'effectue
						  try 
                                                    { 
                                                   $bdd = new PDO('mysql:host=localhost;dbname=comptes','root','',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); 
                                                     } 
                                                     catch(Exception $e) 
                                                        { 
                                                      die('Erreur : '.$e->getMessage()); 
                                                       }
                             {
        $req = $bdd->prepare('INSERT INTO clients (prenom, email,age) VALUES(:prenom, 
         :email,:age)');

                     $req->execute(array(
                     'prenom' =>$rechpren ,
                     'email' => $rechadresse,
		 'age' =>$rechage 
                              ));
                     echo 'Client enregistre';
                   $req->closeCursor(); 
                 }	
         else 
             {
                 echo 'effectuez un nouveau enregistrement .';
             }
?>

</body> 

eviterméssageavertissement.php


<?php

session_start();

if(!empty($_POST) OR !empty($_FILES))
{
    $_SESSION['sauvegarde'] = $_POST ;
    $_SESSION['sauvegardeFILES'] = $_FILES ;
    
    $fichierActuel = $_SERVER['PHP_SELF'] ;
    if(!empty($_SERVER['QUERY_STRING']))
    {
        $fichierActuel .= '?' . $_SERVER['QUERY_STRING'] ;
    }
    
    header('Location: ' . $fichierActuel);
    exit;
}

if(isset($_SESSION['sauvegarde']))
{
    $_POST = $_SESSION['sauvegarde'] ;
    $_FILES = $_SESSION['sauvegardeFILES'] ;
    
    unset($_SESSION['sauvegarde'], $_SESSION['sauvegardeFILES']);
}

?>

Merci Farang pour tes indications j'ai ratissé tout le net pour trouver solution , mais en vain mon cas est un peut spécifique si tu as lu mon code en fait j'ai pu uniquement avec mon code cerné le probleme de la création des doublons dans ma table que crée le renvoi répétitif des donnée par le navigateur, et cela que le méssage d'avertissement s'affiche ou non , seulment malgré tout cela le méssage s'affiche sur ma page validation si je la rafraichi sans que cela n'ai aucu,e incidence sur ma table en fait c'est ce méssage que je ne veux plus que ca apparait si j'actualise la page validation.php