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 -
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>
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:
- Probleme d'insertion de données dans une table
- Fuite données maif - Guide
- Table ascii - Guide
- Insertion table des matières word - Guide
- Supprimer les données de navigation - Guide
- Touche insertion clavier - Guide
5 réponses
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....
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
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
mets une trace d'erreur
$result = mysql_query($sql) or die ("Pb avec la requette: ".$sql."<br />".mysql_error());
$result = mysql_query($sql) or die ("Pb avec la requette: ".$sql."<br />".mysql_error());
Bonjour votre script est sujet aux injections sql faites sa en PDO ça ira mieux, je peux vous faire ça si vous le souhaitez.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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.