HELP Problèm insertion ds table BDD PHP-MySQL

Fermé
e.khalil Messages postés 33 Date d'inscription lundi 1 juin 2009 Statut Membre Dernière intervention 15 mai 2010 - 17 mars 2010 à 00:16
swoog42 Messages postés 1060 Date d'inscription mercredi 30 septembre 2009 Statut Membre Dernière intervention 16 décembre 2018 - 17 mars 2010 à 00:58
Bonjour,
je suis entrain de développer une application de gestion de parc informatique en utilisant PHP/MySQL sur EasyPHP.
Bref, j'ai rencontré un problème; c'est que je ne peut pas insérer dans une table "Logiciel" depuis un formulaire.
Voilà le code Source:

ajouterLogiciel.php :
<form name="formAjouterLogiciel" method="post" action="../../scripts/verify.php">

<table align="center">
<b>
<tr><td>Id</td> <td><input type="text" name="idLogiciel" /></td></tr>
<tr><td>Nom</td> <td><input type="text" name="nomLogiciel" /></td></tr>
<tr><td>Type</td> <td><input type="text" name="typeLogiciel" /></td></tr>
<tr><td>Licence</td> <td><input type="text" name="licenceLogiciel" /></td></tr>
<tr><td>Version</td> <td><input type="text" name="versionLogiciel" /></td></tr>
<tr><td>idService</td> <td><input type="text" name="idSerLogiciel" /></td></tr>
<tr><td>Editeur</td> <td><input type="text" name="editeurLogiciel" /></td></tr>
<tr><td>Date sortie</td> <td><input type="text" name="dateLogiciel" /></td></tr>
<tr><td align="center"><input name="ajoutLogiciel" type="submit" value="Ajouter" /></td><td align="center"><input name="reset" type="reset" value="R-A-Z" /></td></tr>
</b>
</table>

</form>

verify.php :
<?php // script de vérification de données
if(isset($_POST['ajoutLogiciel']))
{ // récupération des données du form
$idLogiciel = $_POST['idLogiciel'];
$nomLogiciel = $_POST['nomLogiciel'];
$typeLogiciel = $_POST['typeLogiciel'];
$licenceLogiciel = $_POST['licenceLogiciel'];
$versionLogiciel = $_POST['versionLogiciel'];
$idSerLogiciel = $_POST['idSerLogiciel'];
$editeurLogiciel = $_POST['editeurLogiciel'];
$dateLogiciel = $_POST['dateLogiciel'];
$insert = "INSERT INTO logiciel (
idLogiciel ,
nomLogiciel ,
typeLogiciel ,
licenceLogiciel ,
versionLogiciel ,
editeurLogiciel ,
idSerLogiciel ,
dateLogiciel
)
VALUES (
'$idLogiciel', '$nomLogiciel', '$typeLogiciel', '$licenceLogiciel', '$versionLogiciel', '$idSerLogiciel', '$editeurLogiciel',
'$dateLogiciel'
)";

$addLogiciel = mysql_query($insert, $cnx)or die("impossible d'inserer dans la table logiciel /!\\");


//header("Location: http:...\//127.0.0.1/ParcInfo/admin/ajout/ajouterLogiciel.php");
}
?>

J'obtiens après chaque Ajout le message suivant:
impossible d'inserer dans la table logiciel /!\
J'ai besoin de votre aide ! SVP et Merci à toute personne ayant la patience de lire cela :)
en fin de compte je vérifie la table dans PHPMyAdmin, mais je ne trouve aucune nouvelle ligne :(
A voir également:

5 réponses

ze-life-of-quent1 Messages postés 1582 Date d'inscription lundi 8 février 2010 Statut Membre Dernière intervention 17 octobre 2015 776
17 mars 2010 à 00:25
Bonjour, remplacez déja la liste des variables ($machin = $_POST['machin'];) par extract($_POST);

Ensuite, changez:
$addLogiciel = mysql_query($insert, $cnx)or die("impossible d'inserer dans la table logiciel /!\\");

en:
$addLogiciel = mysql_query($insert, $cnx) or die (mysql_error());

puis donnez-nous l'erreur.
1
e.khalil Messages postés 33 Date d'inscription lundi 1 juin 2009 Statut Membre Dernière intervention 15 mai 2010 2
17 mars 2010 à 00:31
Voilà l'erreur:
Duplicata du champ '2' pour la clef 'PRIMARY'
c'est bon j'ai échangé la valeur '2' par '3' et ça a marché, merci ze-life-of-quent1 , c'est l'occasion de vous poser une question, avec sa réponse je peux éviter ce genre de problèmes:
comment est ce que je peux insérer tout les champs cités là haut mais sauf l' idLogiciel ??
Merci beaucoup :)
0
swoog42 Messages postés 1060 Date d'inscription mercredi 30 septembre 2009 Statut Membre Dernière intervention 16 décembre 2018 244
17 mars 2010 à 00:38
tu le définis en auto-incrément dans ta base et dans ta requète, tu fais un truc du genre
insert into logiciel (id, nom) values ('', 'office');

en fait, tu insère un champ vide. ton SGBD se chargera de l'incrémenté tout seul ^^
0
e.khalil Messages postés 33 Date d'inscription lundi 1 juin 2009 Statut Membre Dernière intervention 15 mai 2010 2
17 mars 2010 à 00:57
merci bien
0

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

Posez votre question
swoog42 Messages postés 1060 Date d'inscription mercredi 30 septembre 2009 Statut Membre Dernière intervention 16 décembre 2018 244
17 mars 2010 à 00:58
pas de problème, si je peux aider ^^
0