Double enregistrement dans la base ...

terifick Messages postés 11 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 8 janvier 2014 - 9 mars 2006 à 17:09
terifick Messages postés 11 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 8 janvier 2014 - 10 mars 2006 à 16:27
Bonjour

J'ai un soucis avec ce bout de code:
$sql_inscr="INSERT INTO $table VALUES('','$nom','$prenom','$adresse','$cp','$ville','$tel','$email','$bateau')"; 
mysql_query($sql_inscr);


J'essaye d'enregistrer des données dans la base, mais ça m'enregistre deux fois la même chose.

Pourtant, je vous jure que je n'ai pas mis une autre ligne de code similaire.
Les variables à charger dans la base existent, puisqu'elles sont aussi affichées sur la page en ligne.

Est-ce que cela viens des données elles-même? pourtant il n'y a rien de spécial...

Là je sèche...

Si vous avez des suggestions et des pistes de recherche...
merci

7 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 mars 2006 à 17:38
Hello,

faudrait que tu montres un peu plus de code. pas bcp hein, juste la portion qui encadre cette ligne, qu'on voit le contexte.
0
stiml Messages postés 132 Date d'inscription mardi 21 juin 2005 Statut Membre Dernière intervention 18 juin 2009
10 mars 2006 à 09:52
Moi je serai toi je préciserai derrière $table les champs que tu veut insérer dans la table et je metterai aps d'espace blanc. c'est peut-être ca ...

exemple :

   $sql_inscr="INSERT INTO $table (nom, prenom, adresse, cp, ville, tel, email, bateau) VALUES('$nom','$prenom','$adresse','$cp','$ville','$tel','$email','$bateau')"; 
   mysql_query($sql_inscr);




--------------------
StimL.
0
terifick Messages postés 11 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 8 janvier 2014
10 mars 2006 à 14:57
Bonjour, et merci de vous pencher sur mon problème...

J'ai essayé avec la méthode de stilm, mais c'est pareil. voilà le bout de code:

/////////////////////////////////////////////////
<?php

$table = "recap";
//******----------------*********
//on se connecte au serveur
$connection = mysql_connect($hote,$user,$password)
or die ("ça marche pas..");

//on se connecte à la base
$db = mysql_select_db($base,$connection)
or die ("accès à la base impossible");
//******----------------*********
$HTTP_GET_VARS = $_POST;

$surface = $_POST['surface'];
$bateau = $_POST['bateau'];
$voile = $_POST['voile'];
...
..
.
.
..
...
$email= $_POST['email'];
$port1 = $_POST['port'];
$port=stripslashes($port1);

//J'envoie la requête d'insertion des données

$sql_inscr="INSERT INTO $table (nom, prenom, adresse, cp, ville, tel, email, bateau, port, gamme, voile, surface, nombre, delais, total, cotes, essai, total_option, option1, option2, date, date_livraison) VALUES('$nom','$prenom','$adresse','$cp','$ville','$tel','$email','$bateau','$port1','$gamme','$voile','$surface','$nombre','$delais','$Total','$cotes','$essai','$Total_option','$option1','$option2','$date_du_jour','$date_livraison1')";
mysql_query($sql_inscr);

?>

//////////////////////////

Voilà, mais ça me copie toujours deux fois le résultat dans la base

J'ai essayé avec une table à deux champs (id et nom), et c'est pareil, avec ou sans le système de stilm



Alors, peut-être que ce sont les types des données qui ne sont par justes.
Je joins aussi la création de ma table

///////////////////
CREATE TABLE `recap` (
`id` int(3) NOT NULL auto_increment,
`nom` varchar(25) NOT NULL default '',
`prenom` varchar(25) NOT NULL default '',
`adresse` varchar(255) NOT NULL default '',
`cp` varchar(7) NOT NULL default '',
`ville` varchar(35) NOT NULL default '',
`tel` decimal(14,0) NOT NULL default '0',
`email` varchar(50) NOT NULL default '',
`bateau` varchar(35) NOT NULL default '',
`port` varchar(35) NOT NULL default '',
`gamme` varchar(45) NOT NULL default '',
`voile` varchar(50) NOT NULL default '',
`surface` decimal(6,2) NOT NULL default '0.00',
`nombre` decimal(2,0) NOT NULL default '0',
`delais` decimal(3,0) NOT NULL default '0',
`total` decimal(7,0) NOT NULL default '0',
`cotes` varchar(35) NOT NULL default '',
`essai` varchar(50) NOT NULL default '',
`total_option` decimal(7,0) NOT NULL default '0',
`option1` varchar(255) NOT NULL default '',
`option2` varchar(255) NOT NULL default '',
`date` varchar(15) NOT NULL default '',
`date_livraison` varchar(15) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

//////////////////
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 mars 2006 à 15:28
Tes données proviennent d'un formulaire, c'est ça ?
Il est dans le même fichier, ou un autre ? On peut le voir ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
terifick Messages postés 11 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 8 janvier 2014
10 mars 2006 à 15:36
Salut
les données viennent de la page d'avant. toutes les infos passent bien, puisque si je fait echo "$truc et $marchin", je peux visualiser tout.

Je le fais tourner en ligne sur un site à moi, un "site d'essai".

Après vérifications:
En fonction des données récupérées, ça inscrit 1 ou 2 fois dans la base...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 mars 2006 à 15:57
On peut voir le formulaire ?
0
terifick Messages postés 11 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 8 janvier 2014
10 mars 2006 à 16:27
Ben, c'est une suite de trois feuilles où le visiteur sélectionne des choses. La feuille qui copie dans la base est la dernière.

Le truc est visible là: http://s142391077.onlinehome.fr/

Je peux t'envoyer les fichiers par mail, il suffit jusque que tu remplisses le formulaire en marquant un truc comme quoi c'est toi, où en me donnant ton adresse mail
0
Rejoignez-nous