Probleme d'insertion de données dans une table

Fermé
dph1281 Messages postés 3 Date d'inscription dimanche 5 janvier 2014 Statut Membre Dernière intervention 6 janvier 2014 - 5 janv. 2014 à 16:17
dph1281 Messages postés 3 Date d'inscription dimanche 5 janvier 2014 Statut Membre Dernière intervention 6 janvier 2014 - 6 janv. 2014 à 17:36
Bonjour
j'ai crée avec phpmyadmin une base "biblio" avec une table "livre"
j'ai crée un fichier php pour enregistrer les données de la table livre.
Toutefois les données ne s' enregistrent pas sur cette table.
Au début j'avais crée seulment 3 champs sur la table et tout était ok. mais quand j'ai rajouté d'autres colonnes les ennuis sont arrivés.
Quelqu'un peux-it-il me renseigner sur mes erreurs

merci par avance
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>Enregistrement de livres</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>
<body>
<h3>Enregistrement de livres</h3>
<?php
$dp = mysql_connect("localhost", "root", "") or die("<p>Echec de la connexion à MySQL !</p>");
mysql_select_db("biblio", $dp) or die("<p>Echec de la connexion à la base de données !</p>");
if (isset($_POST['submit'])) {
if (empty($_POST['titre1'])) {
echo "<p>Veuillez indiquer un <b>titre</b> !</p>";
} elseif (empty($_POST['titre2'])) {
echo "<p>Veuillez indiquer le <b>2eme titre si album double</b> !</p>";
} elseif (empty($_POST['nom'])) {
echo "<p>Veuillez indiquer le nom de l' <b>auteur</b> !</p>";
} elseif (empty ($_POST['type'])){
echo "<p>Veuillez indiquer un <b>type</b> !</p>";
} elseif (empty($_POST['serie'])) {
echo "<p>Veuillez indiquer une <b>serie</b> !</p>";
} elseif (empty($_POST['editeur'])) {
echo "<p>Veuillez mentionner <b>l'éditeur</b> !</p>";
} else {
$sql= "INSERT INTO 'livre'(titre1, titre2, nom, prenom, type, serie, numserie, editeur, isbn, format, image, description, localisation)
VALUES (('$_POST[titre1]'.'$_POST[soustitre]'), '$_POST[titre2]', '$_POST[nom]', '$_POST[prenom]', '$_POST[type]', '$_POST[serie]', '$_POST[numserie]', '$_POST[editeur]', '$_POST[isbn]', '$_POST[format]', '$_POST[image]', '$_POST[description]', '$_POST[localisation]')";
$result = mysql_query($sql);
if ($result) {
echo " <p> Les données du livre ont ete enregistrees sur la table LIVRE </p>";
} else {
echo " <p> La saisie des données a <b> échoué sur la table LIVRE </b> </p>";
}
}

echo "[ <a href='javascript:history.back()'>Retour</a> ] -
[ <a href='$_SERVER[PHP_SELF]'>Saisir un nouvel enregistrement</a> ]";
} else {
echo <<<FORMULAIRE
<form action="{$_SERVER['PHP_SELF']}" method="post">
<table>
<tr><td>titre :</td><td><input type="text" name="titre1"></td></tr>
<tr><td>soustitre :</td><td><input type="text" name="soustitre"></td></tr>
<tr><td>2eme titre si album doubletitre :</td><td><input type="text" name="titre2"></td></tr>
<tr><td>nom de l'auteur :</td><td><input type="text" name="nom"></td></tr>
<tr><td>prenom de l'auteur :</td><td><input type="text" name="prenom"></td></tr>
<tr><td>type :</td><td><input type="text" name="type"></td></tr>
<tr><td>serie :</td><td><input type="text" name="serie"></td></tr>
<tr><td>numero dans la série :</td><td><input type="text" name="numserie"></td></tr>
<tr><td>editeur :</td><td><input type="text" name="editeur"></td></tr>
<tr><td>isbn :</td><td><input type="text"name="isbn"></td></tr>
<tr><td>format:</td><td><input format="text"name="format"></td></tr>
<tr><td>image :</td><td><input type="text" name="image"></td></tr>
<tr><td>description :</td><td><input type="text" name="description"></td></tr>
<tr><td>localisation :</td><td><input type="text" name="localisation"></td></tr>
<tr><td></td><td><input type="submit" value="Insérer les données"
name="submit"></td></tr>
</table>
</form>
FORMULAIRE;
}
mysql_close($dp);
?>
</body>
</html>
A voir également:

5 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
5 janv. 2014 à 21:42
essayes comme ça:

$sql= "INSERT INTO livre (titre1, titre2, nom, prenom, type, serie, numserie, editeur, isbn, format, image, description, localisation)
VALUES (('".$_POST[titre1]."'"."'".$_POST[soustitre]."'), '".$_POST[titre2]."', etc....
0
dph1281 Messages postés 3 Date d'inscription dimanche 5 janvier 2014 Statut Membre Dernière intervention 6 janvier 2014
5 janv. 2014 à 23:27
merci pour votre réponse.
J'ai essayé mais j'ai toujours un échec sur l'enregistrement de mes données.

je vais essayer de voir au niveau de la configuration de la base qui est pourtant configurée avec tous les droits
merci
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
6 janv. 2014 à 11:14
mets une trace d'erreur


$result = mysql_query($sql) or die ("Pb avec la requette: ".$sql."<br />".mysql_error());
0
Bonjour votre script est sujet aux injections sql faites sa en PDO ça ira mieux, je peux vous faire ça si vous le souhaitez.
0

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

Posez votre question
dph1281 Messages postés 3 Date d'inscription dimanche 5 janvier 2014 Statut Membre Dernière intervention 6 janvier 2014
6 janv. 2014 à 17:36
merci à vos reponses.
Ce matin j'ai retapé le fichier en éliminant les contraintes de case non renseignées. Miracle ça fonctionne.
Je vais donc continué a modifié ce fichier mais pas à pas.
Pour information je suis novice dans la programmation et j'essaie d'apprendre
en m'aidant de quelques bouquins mais ce n'est pas simple.

pour Alain_42 je prends en considération la formule pour tracer les erreurs.

Pour Spiruline ton offre me tente mais je préfère pour le moment de continuer par mes propres moyens. En tout cas merci.
0