Soucis d'insertion dans une base de donnée
Résolu
DereK
-
DereK_ Messages postés 7 Statut Membre -
DereK_ Messages postés 7 Statut Membre -
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
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
Configuration: Netscape 4.0
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')"); -
Non, aucun champs en auto_increment.
Pour la requete sql, oui ils sont dans le bonne ordre. -
Salut,
c'est normal que tu es 2 parenthèses a la fin de tes lignes
$titrelivre...
$auteurlivre... ?
-
Oui, elle referment celles ouvertes par "mysql_real_scape_string" et "htmlspecialchars"
$titrelivre = mysql_real_escape_string ( htmlspecialchars ( $_POST['TitreLivre'] ) ) ; -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Ca me donne l'erreur "undefined index" qui est regler par les isset qui faut mettre avant de declarer les variables.