8792 sujets

Développement web côté serveur, CMS

salut,
je pense que j'ai tout résumé en titre du post ! j'ai un probleme avec une page php dans laquelle je fais des insertions dans la base, j'ai un grand souci avec cette page (contrairement à d'autres) où le script d'insertion est éxecuté à chaque actualisation de la page Smiley eek
la particularité que j'ai, ce que j'insere dans la base en testant si tel ou tel bouton (submit) est "cliqué" !!

if (((isset($_POST["produit"])) && (isset($_POST["ajout_produit"]))&& (trim($_POST["produit"]) != ""))
/* requete */


à chaqie actualisation de la page (F5) le $_POST["ajout_produit"] contient tjrs la même valeur...

enfin, j'ai copié mon fichier fic1.php et collé dans un fic2 où je traite les actions demandées, ce nouveau fichier ne contient pas de tag "header", j'ai mis à sa fin :

header("Location: fic1.php");

et tjrs j'ai le mêm probleme

mais bon je suis pas sûr de l'origine de ça c'est pour cela que je pose la question si qq'un peut m'aider. Smiley rolleyes
Modifié par toome (24 Aug 2005 - 13:45)
Salut,

je sais pas si ton problème vient de là, mais en tout cas tu as un problème de parenthèses dans ton if. Il y a une parenthèse ouvrante en trop. Normalement tu aurais du avoir une erreur syntaxe en php.

Voila le if corrigé :

if ((isset($_POST["produit"])) && (isset($_POST["ajout_produit"])) && trim($_POST["produit"]) != ""))


En ésperant que ca change quelque chose
malheureusement cé pas ça !! la parenthèse en trop est l'enfant jumeau d'une autre parenthèse fermante tout en bas Smiley lol
autre idée??
Salut, lors de l'actualisation d'une page ayant reçue des données via. $_POST, ces données sont retransmises, c'est donc pour ça la requête est de nouveau éxécutée.

Si le problème ne vient de pas là, alors merci d'être un petit peu plus clair Smiley smile

Je précise également que la fonction header() doit-être éxécutée avant le moindre caractère html, en début de page.
Oui Gaylord a raison,
lorsqu'on presse le bouton actualisé sur une page de reception, le données envoyer sont retransmise !

Je sait pas si tu as deja remarquer sur un forum par exemple, lorsque tu envoie un message,
tu te retrouve sur une page de redirection !

Il y a donc une page de reception, et une fois les donner recu, elle te renvoie vers le topic en question.

Une fois sur le topic tu peu actualiser autant de fois que tu le veut ^^

Alors bon, l'astuce dans ton cas consiste a mettre la reception des donné dans un fichier externe, qui renvoie instantanément sur ta page.
.... ou de faire un système "anti-flood" en préservant les informations de l'utilisateur ainsi que la date du post, et de mettre une limite minimale pour permettre à cet utilisateur de reposter.
... ou de verifier a chaque nouvelle insertion si le dernier enrengistrement n'est pas identique a celui qui veut rentrer ! ^^


Ya plein de solution, ca c'est sûr Smiley cligne
Gaylord.P a écrit :

Si le problème ne vient de pas là, alors merci d'être un petit peu plus clair Smiley smile

oui exact, le proble viens de là !

Gaylord.P a écrit :

Je précise également que la fonction header() doit-être éxécutée avant le moindre caractère html, en début de page.

dans le fichier où je fais mes actions ur la base, je n'ai aucun tag HTMl ni echo ni print même pas en commentaire !! Smiley eek
je vois que mon probleme est connu et corrigé mais il me faut moi aussi de le corriger Smiley decu

je redirige vers la page de l'affichage par ce code :

<?
header("Location: info_article.php?le_id=".$le_id."&langue=".$langue."&revision=".$revision);
?>