Version complète: sur le forum Webmaster Hub : INSERT exécuté 2 fois
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > SQL
adn
Bonjour à tous,

Je butte depuis 24h sur un problème d'INSERT qui se fait parfois deux fois. Après la saisie d'un formulaire de base, j'appelle une page dans laquelle je commence par faire un INSERT en base et oh surprise, l'élément est aléatoirement ajouté une ou deux fois et je n'arrive pas à comprendre pourquoi parfois l'ajout se fait deux fois.

J'ai trouvé ce post:
http://www.developpez.net/forums/archive/i...p/t-143523.html

Ou on parle du même problème et j'avoue que j'ai pas franchement compris l'explication. Serait-ce plus clair pour l'un d'entre vous ?
Dan
Cela doit être dû à la structure de ton code...
Peux-tu le faire afficher ici ?
adn
Côté formulaire, le code est le suivant:

CODE
<form method="get" action="http://www.mondomaine.com/page.php" onsubmit="if (this.elements['q'].value != '') return true; else return false;" name="formSearch">
   <input name="q" type="text" id="q" size="50" >
   <input name="i" type="hidden" value="1">
   <input type="submit" value="GO">
</form>


Côté serveur au début de page.php, j'ai mon INSERT:

CODE
INSERT INTO myTable (col1, col2) VALUES ('val1', 'val2')


En lisant le lien mentionné, on semblerait que dans certains cas la page soit déclenchée deux fois. L'explication est un peu fumeuse .
Portekoi
Salut,

Regarde si tu n'as pas un attribut Src de la balise Img à vide ( <img src="" ... />)

Bye


Portekoi
Dan
A mon avis, tu devrais faire le test de la variable $q dans la page page.php, et éventuellement retourner à la page précédente si elle n'est pas remplie.
Parce que là, qu'elle soit remplie ou non, tu appelles tout de même page.php, sans parler de ceux qui n'ont pas JavaScript activé.

Dan
adn
Je suis encore sur mon problème de doublon et c'est assez incroyable, on dirait qu'il y a un phénomène d'echo. Quand je fais mon INSERT je stocke la date et l'heure et le deuxième est 7 à 8 minutes après ! Je deviens fou wacko.gif
sarc
Salut !
Ton navigateur reste ouverte sur la page pendant ce temps-là ? C'est pas un rafraîchissement de la page qui provoque ça ?
Je vois pas ce que ça pourrait être d'autre... Si c'est 7 minutes après c'est louche.
adn
Merci à tous pour vos pistes, mais je ne comprends toujours pas ce qui se passe. La solution de Dan avec une redirection 301 marche et m'évite le doublon en bonus, j'en profite pour faire du rewriting smartass.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.