Probleme insertion

tchaw Messages postés 20 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 30 novembre 2010 - 15 mars 2010 à 15:54
tchaw Messages postés 20 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 30 novembre 2010 - 16 mars 2010 à 15:41
bonjour,
jai un formulaire qui contient des données et je veux inserer ces donnée à la base mysql.
jai préparé la page et la base mais lorsque je fait l'insertion rien ne s'affiche dans la base MYSQL et voila le code du page :








Document sans titre







[index.php
Déconnection
]









//




Mise à jour d'un facture d'achat


Numéro facture,
Date,
MTHT,
MTTC,

----



,
,


,





















Ajout d'un nouveau facture d'achat


Numéro facture,
Date,
MTHT,
MTTC,

----



,
,


,














12 réponses

Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 11
15 mars 2010 à 17:11
Bonjour,

Essai de cibler ton problème et de poster la partie du code qui semble te poser problème...

De plus tu peux utiliser pour mettre en forme ton code et le rendre plus digeste.


_________________________________
Min iPomme
0
tchaw Messages postés 20 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 30 novembre 2010
15 mars 2010 à 17:17
merci
jai un probleme d'insertion dans la base voici mon code
<?php
$hostname_connect = "127.0.0.1";
$database_connect = "mir";
$username_connect = "root";
$password_connect = "mysql";
$connect = mysql_connect($hostname_connect, $username_connect, $password_connect) or trigger_error(mysql_error(),E_USER_ERROR);
$a=$_POST['numfact'];
$date=$_POST['date'];
$c=$_POST['mtht'];
$d=$_POST['mttc'];
if(isset($_POST['add'])){

$req1 = "INSERT INTO achat(numero_facture,date_facture,MTHT,MTTC) values('','".$a."','".date("Y-mm-dd")."','".$c."','".$d."')";
mysql_query($req1);
echo "
<script langage='javascript'>
alert('Insertion terminée ...');
</script>";

}
?> 

mais il ne m'affiche rien dans la base de donnée
0
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 11
15 mars 2010 à 17:18
PS : Active la visualisation des erreurs si ce n'est pas déjà fait.
Met
display_errors = On

dans ton php.ini

Ou
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>

En haut de tes scripts...

_________________________________
Min iPomme
0
tchaw Messages postés 20 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 30 novembre 2010
15 mars 2010 à 17:30
merci jai inseré ce code et rien ne s'affiche
0

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

Posez votre question
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
15 mars 2010 à 17:54
Salut,

Je n'ai que parcouru, mais déjà :
$req1 = "INSERT INTO achat(numero_facture,date_facture,MTHT,MTTC) values('','".$a."','".date("Y-mm-dd")."','".$c."','".$d."')";


Je vois 4 champs à insérer ... et 5 données.
Pense donc à ajouter un "or die(mysql_error());" pour le debug !!

Cordialement,


Kohntark -
0
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 11
15 mars 2010 à 18:51
Salut kohntark,

ca faisais un moment que j'étais pas vennu vous rendre visite

Dis moi, avec trigger_error ca ne devrais pas retourner l'erreur MySQL comme une erreur PHP (donc visible avec error_reporting/display_errors) ?
Étrange étrange...
_________________________________
Min iPomme
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
15 mars 2010 à 19:20
Salut Tonio,

ca faisais un moment que j'étais pas vennu vous rendre visite

Ouais, tu manquais !!

Dis moi, avec trigger_error ca ne devrais pas retourner l'erreur MySQL comme une erreur PHP (donc visible avec error_reporting/display_errors) ?

Ca retournera une erreur pour mysql_connect() ($connect) mais pas pour le mysql_query($req1); qui suit qui sera égal à false (t'avais pas vu !!! )

@tchaw :
J'en profite :
$a=$_POST['numfact'];
$date=$_POST['date'];
$c=$_POST['mtht'];
$d=$_POST['mttc'];
GROSSES FAILLES DE SECURITE !!!

=> toujours traiter les variables provenant de l'utilisateur (GET, POST) avant insertion dans la DB. Au minimum un mysql_real_escape_string()


Cordialement,

Kohntark -
0
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 11
15 mars 2010 à 19:44
t'avais pas vu !!!


C'est la reprise c'est dur...

_________________________________
Min iPomme
0
tchaw Messages postés 20 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 30 novembre 2010
15 mars 2010 à 19:49
merci pour votre réponse
jai fait traiter les variables provenant de l'utilisateur (GET , POST) avant l'insertion et il ne se marche pas
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
15 mars 2010 à 21:10
Et qu'en est il de :
Je n'ai que parcouru, mais déjà :
Code PHP :

$req1 = "INSERT INTO achat(numero_facture,date_facture,MTHT,MTTC) values('','".$a."','".date("Y-mm-dd")."','".$c."','".$d."')";



Je vois 4 champs à insérer ... et 5 données.
Pense donc à ajouter un "or die(mysql_error());" pour le debug !!



????
... il serait bien d'y prêter attention et de répondre sur ce point

Kohntark -
0
tchaw Messages postés 20 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 30 novembre 2010
16 mars 2010 à 09:56
bonjour
je deviens fou........
jai ajouté ce code à ma page
<?php
$hostname_connect = "127.0.0.1";
$database_connect = "mir";
$username_connect = "root";
$password_connect = "mysql";
$connect = mysql_connect($hostname_connect, $username_connect, $password_connect) or die(mysql_error()); 
?>

et aussi ce code d'insertion dans la base
<?php
$a=$_POST['numfact'];
$date=$_POST['date'];
$c=$_POST['mtht'];
$d=$_POST['mttc'];
if(isset($_POST['add'])){

$req1 = "INSERT INTO achat(numero_facture,date_facture,MTHT,MTTC) values('".$_POST['numfact']."','".date("Y-mm-dd")."','".$_POST['mtht']."','".$_POST['mttc']."')";
 $retour=mysql_query($req1);
if($retour)
{
echo 'Enregistrement effectué dans la bdd
';
}
else
{
echo 'ERREUR lors de l\'enregistrement dans la bdd
';
}
 
}
?>


et il ne n'insere pas dans la base
et voila la structure de table dans la base
CREATE TABLE IF NOT EXISTS `achat` (
  `id_achat` int(11) NOT NULL AUTO_INCREMENT,
  `numero_facture` varchar(20) NOT NULL,
  `date_facture` date NOT NULL,
  `MTHT` decimal(10,3) NOT NULL,
  `MTTC` decimal(10,3) NOT NULL,
  PRIMARY KEY (`id_achat`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;



merci je suis besoin de votre aide
0
tchaw Messages postés 20 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 30 novembre 2010
16 mars 2010 à 15:41
salut
merci pour tous repondent à mon sujets
enfin c'est résolu
la derniere code quie je l'ai mis est juste c
je fais actualiser à ma base et l'insertion se fait enfin
0
Rejoignez-nous