PHP sauvegarder un formulaire au rechargement de la page

Balkaaa -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -

Bonjour,

Je ne savais pas réellement quoi mettre en titre mais le problème est plutôt simple je vous assure.

Je suis sur une appli en full PHP, html et un peu de JS.

Je cherche à ne pas recharger la page de mon formulaire lorsqu'il y'a une erreur.

Exemple : mon utilisateur ne renseigne pas tous les champs obligatoire et clique sur "envoyer le formulaire". Une erreur apparaît "Veuillez renseigner les champs obligatoires". Mais tous les champs du formulaire qu'il avait renseigné sont effacé. je voudrais que les valeurs renseignés restent même après avoir recharger la page (à l'envoi)

Pour ce qui ai de ma méthode d'envoi en bdd du formulaire :

if (!isset($MesChampsObligatoire)) {

    MessageErreur("Veuillez renseigner les champs obligatoires");
    header("location: " . URL . "accueil/MonFormulaire", "X-XSS-Protection: 1; mode=block");
    
}
else {
    $sql = "INSERT INTO ....";
    $query = $bdd->prepare($sql);
    $query->bindValue(...);
    ...
    $query->execute();
}


Le header renvoi sur mon formulaire.

Comment sauvegarder les infos renseigné à l'envoi du formulaire ?

Si vous avez des idées j'suis preneur,

Cdt

A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

Bonjour,

Soit tu places le code de traitement de ton formulaire dans le même fichier que ton formulaire. ( et tu rediriges vers la page de succès si l'insertion en bdd a fonctionné )

Ainsi, tu peux réafficher les variables transmises en $_POST directement dans ton formulaire

Soit, tu veux conserver ton fonctionnement actuel.. et dans ce cas tu stockes les données dans les variables de SESSION pour pouvoir les retrouver dans ton formulaire après la redirection.


0
Balkaaa
 

Bonjour, merci pour ta réponse 

Je voudrais garder mon fonctionnement actuel dans lequel j'ai une partie view avec mon formulaire et une partie controller avec les fonctions qui permettent d'alimenter, traiter ce formulaire.

Je me demande ou je dois instancier mes variables de session et comment, quelque chose comme ça $_SESSION($_POST[$monChamp]); ?

Cdt, 

Balkaa

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Balkaaa
 

Pour sauver les valeurs reçues via le formulaire:

$_SESSION('monChamp') = $_POST['monChamp');

ensuite, tu utilises $_SESSION('monChamp') au moment d'envoyer le formulaire.

0