Confirmation de suppresion/envoi

negima
Invité n'ayant pas de compte PHPfrance

07 août 2020, 23:28

Bonjour,
Sur mes formulaires de suppresion ou d'envoi, j'aimerais ajouter une demande de confirmation pour éviter les erreurs.
Sur internet, je ne trouve que des codes JS onclick à placer sur le bouton submit. Je trouve ça pas terrible.
J'ai donc essayé de faire à ma manière, voici mon code :

Code : Tout sélectionner

<?php // ---------- 3. Exécution ---------- if ( !empty($_POST['message']) and !empty($_POST['passion']) and !empty($_POST['confirmer']) ) { $message = $_POST['message']; echo '<h2>Merci pour votre message !</h2> <p>Votre message : '.$message.'</p> <p>Vous aimez :'; foreach ($_POST['passion'] as $p) { echo '<br>- '.$p; } echo '</p>'; } // ---------- 2. Demande de confirmation ---------- elseif (!empty($_POST['message']) and !empty($_POST['passion'])) { $message = $_POST['message']; $passion = $_POST['passion']; echo ' <form method="post"> <p>Confirmez l\'envoi du message : '.$message.'</p> <input name="message" value="'.$message.'" type="hidden">'; // Astuce pour garder les données foreach ($passion as $p) { echo '<input name="passion[]" value="'.$p.'" type="hidden">'; // Astuce pour garder les données } echo ' <input type="submit" name="confirmer" value="Confirmer"> <a href="'.$_SERVER['PHP_SELF'].'"><input type="button" value="Annuler"></a> </form>'; } // ---------- 1. Formulaire ---------- else { echo ' <form method="post"> Message : <input type="text" name="message"><br> Vous aimez : <input type="checkbox" name="passion[]" value="Cinema">Cinema <input type="checkbox" name="passion[]" value="Lecture">Lecture <input type="checkbox" name="passion[]" value="Musique">Musique<br> <button type="submit">Envoyer</button> </form>'; } ?>
J'ai utilisé la méthode du input caché pour conserver les données des variables. Cela marche bien, mais je ne sais pas si c'est la bonne méthode. Est-ce qu'il y a un autre moyen plus simple ?

Mammouth du PHP | 2703 Messages

08 août 2020, 00:17

il est aussi possible de mettre les données en session pour les retrouver plus tard.

negima
Invité n'ayant pas de compte PHPfrance

08 août 2020, 17:48

Merci, j'avais oublié cette possibilité.
Cela m'évite de créer des inputs invisibles.