Soucis d'insertion dans une base de donnée

Résolu/Fermé
DereK - 6 avril 2009 à 13:53
DereK_ Messages postés 6 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 14 août 2009 - 6 avril 2009 à 15:02
Bonjour,

J'ai crée une base de donnée qui contient une table livre, dans celle ci ya un champs pour la reference, le titre, l'auteur, l'année.
J'ai écris un script pour pouvoir remplir cette base via une interface web. Cependant lorsque je remplis le formulaire et que je l'envoie, il n'y a aucune entrée dans la table et je n'arrive pas à trouver d'ou cela peu venir.

Voilà le script en question :
********************************************
<?php
if (isset($_POST['TitreLivre']) AND isset($_POST['AuteurLivre']) AND isset($_POST['EditionLivre']) AND isset($_POST['AnneeParution']) AND isset($_POST['RefLivre']))
{
if ($_POST['TitreLivre'] != NULL AND $_POST['AuteurLivre'] != NULL AND $_POST['EditionLivre'] != NULL AND $_POST['AnneeParution'] != NULL AND $_POST['Reflivre'] != NULL )
{
mysql_connect("localhost", "root", "");
mysql_select_db("gestionlivre");

$titrelivre = mysql_real_escape_string(htmlspecialchars($_POST['TitreLivre']));
$auteurlivre = mysql_real_escape_string(htmlspecialchars($_POST['AuteurLivre']));
$editionlivre = mysql_real_escape_string(htmlspecialchars($_POST['EditionLivre']));
$anneeparution = mysql_real_escape_string(htmlspecialchars($_POST['AnneeParution']));
$reflivre = mysql_real_escape_string(htmlspecialchars($_POST['RefLivre']));

mysql_query("INSERT INTO livre VALUES('$reflivre', '$titrelivre', '$auteurlivre', '$editionlivre', '$anneeparution')");

mysql_close();
}
}

?>

<p>
<form method="post" action="administration.php">
<label for="TitreLivre">Titre</label> : <input name="TitreLivre" id="TitreLivre"/><br/>
<label for="Auteurlivre">Auteur</label> : <input name="Auteurlivre" id="AuteurLivre"/><br/>
<label for="EditionLivre">Edition</label> : <input name="EditionLivre" id="EditionLivre"/><br/>
<label for="AnneeParution">Année de parution</label> : <input name="AnneeParution" id="AnneeParution"/><br/>
<label for="RefLivre">Rérérence</label> : <input name="RefLivre" id="RefLivre"/><br/>
<input type="submit" value="Envoyer"/>
</form>
</p>
****************************************

Merci de votre aide

DereK
A voir également:

5 réponses

dans ta table tu as éditions ?

sont ils tous dans le bon ordre? utilise tu un champs en auto incrémente?

si c'est le cas tu dois le mettre dans ta requête

comme ça :

mysql_query("INSERT INTO livre VALUES('', '$reflivre', '$titrelivre', '$auteurlivre', '$editionlivre', '$anneeparution')");
0
DereK_ Messages postés 6 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 14 août 2009
6 avril 2009 à 14:03
Non, aucun champs en auto_increment.

Pour la requete sql, oui ils sont dans le bonne ordre.
0
kokine86 Messages postés 13 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 6 avril 2009 1
6 avril 2009 à 14:35
Salut,

c'est normal que tu es 2 parenthèses a la fin de tes lignes
$titrelivre...
$auteurlivre... ?

0
DereK_ Messages postés 6 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 14 août 2009
6 avril 2009 à 14:39
Oui, elle referment celles ouvertes par "mysql_real_scape_string" et "htmlspecialchars"

$titrelivre = mysql_real_escape_string ( htmlspecialchars ( $_POST['TitreLivre'] ) ) ;
0

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

Posez votre question
DereK_ Messages postés 6 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 14 août 2009
6 avril 2009 à 15:02
Ca me donne l'erreur "undefined index" qui est regler par les isset qui faut mettre avant de declarer les variables.
0