Bonjour,
J'ai un drôle de problème : Sur une première page, qu'on pourra appeler page mère, j'ai un formulaire qui insert des données dans une bdd. L'insertion se fait par la page elle-même ($_SERVER['PHP_SELF']). Toujours sur cette même page, un peu plus bas, dans un tableau, s'affichent les données précédemment envoyées par le formulaire. A côté de chaque information, est donnée la possibilité de modifier et de supprimer celle-ci, dans une pop-up respective. Une fois que les données ont été modifiées/ supprimées, l'utilisateur peut cliquer sur un lien fermant la fenêtre, mais qui rafraichit également la page mère via une fonction java-script. Et j'ai systématiquement dans une fenêtre dévoilée par le navigateur le message suivantEt là se trouve le problème : si je valide l'opération, la page mère se réaffiche effectivement, mais présente aussi dans le tableau les anciennes informations... C'est à dire que j'ai bien les données modifiées de montrées, mais j'ai aussi une nouvelle ligne dans le tableau avec les précédentes informations d'affectées. Concrètement, dans la table de la bdd, j'ai bien une ligne d'enregistrement modifiée, avec le même identifiant, mais aussi une avec un nouveau identifiant, mais contenant les précédentes données...'Pour afficher cette page, les informations précédemment transmises par Firefox doivent être renvoyées. Ceci répètera toute action entreprise précédemment'.
Ce que je comprends d'autant moins, c'est pourquoi la requête d'insertion est à chaque fois déclenchée si je valide le message d'avertissement du navigateur, et créée un nouvel enregistrement... Dans le code, elle ne peut que s'exécuter si l'utilisateur valide le formulaire :J'avoue être un peu perdu...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if(isset($_POST['btn'])){ $insert= "INSERT INTO commandes (designation, quantite, section, idUser) VALUES ('$prod','$qt','$sections','$idUser')"; ... }?>
Maintenant, si je supprime la fonction java-script de rafraichissement, que je ferme seulement la pop-up, et que j'effectue un 'F5' sur la page mère, je n'ai plus de problème... Les informations modifiées sont bien affichées, et sans nouvel enregistrement.
Merci pour votre aide...
Partager