Bonjour,
J'ai un problème j'espère que vous pourrez m'aider à le résoudre
j'ai un formulaire basique en HTML avec 6 champs à remplir (id_salarie, id_pc, nom, prenom, telephone, service) qui utilise la méthode POST
ce fichier appelle le script add_salarie.php dont voici le code :
PREMIER ESSAI
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <?php // connexion à la base $db = mysql_connect('localhost', 'root', 'root') or die('Erreur de connexion '.mysql_error()); // sélection de la base mysql_select_db('gestion-parc',$db) or die('Erreur de selection '.mysql_error()); // on écrit la requête sql $sql = "INSERT INTO SALARIE(id_salarie,id_pc, nom, prenom, telephone, service) VALUES('$id_salarie','$id_pc','$nom','$prenom','$telephone','$service')"; // on insère les informations du formulaire dans la table mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); // on affiche le résultat pour le visiteur echo 'Les données on été correctement ajoutées à la table SALARIE.'; mysql_close(); // on ferme la connexion ?>
Je rentre des valeurs au formulaire je valide le message Les données on été correctement ajoutées à la table SALARIE, apparait.
Je vais voir dans ma base de données, une ligne a bien été ajouté mais aucune valeur n'apparait, tout les champs sont vides.
DEUXIEME ESSAI
avec des valeurs différentes je relance le formulaire voici l'erreur :
Erreur SQL !INSERT INTO SALARIE(id_salarie, id_pc, nom, prenom, telephone, service) VALUES('','','','','','')
Duplicate entry '' for key 1
Logique il veut réinsérer une ligne vierge mais il y en a déja une...
Quelqu'un a une idée , pourquoi mes valeurs ne sont pas prises en compte surement une erreur de codage PHP ?
pour info mon serveur mysql est sur un serveur linux (ip 10.0.0.15), j'exécute le formulaire depuis un poste client xp.
Si depuis le client je me connecte à phpmyadmin (http://10.0.0.15/phpmyadmin), que je vais dans SQL et lance une requete INSERT INTO ... VALUES ('123','456','testnom','test_prenom'....);
Là sa fonctionne...
Mais je voudrais faire l'ajout des informations depuis le formulaire html
Merci pour votre aide
A++
Partager