Probleme d'insertion de données dans une table

dph1281 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
dph1281 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   894
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   894
 
mets une trace d'erreur


$result = mysql_query($sql) or die ("Pb avec la requette: ".$sql."<br />".mysql_error());
0
Spiruline
 
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   Statut Membre Dernière intervention  
 
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