|
|
|
|
Bonjour,
Je précise tout de suite que je suis plus ou moins débutante en ce qui concerne le php. Je dois créer une base de données pour gérer des archives, et j'utilise easyPHP pour ce faire. Les données sont enregistrées sur la base depuis un formulaire php.
J'ai donc créé ma base et mon formulaire, et je pense que le code tient la route. Le souci c'est que ma table reste désepérément vide... J'ai vérifié à plusieurs les paramètres de connexion à la base, (à savoir localhost, root, pas de mdp et le nom de ma base). J'ai aussi bien vérifié mes variables de récupérations de données, et je n'ai pas l'impression non plus que ça vient de là.
En plus, quand j'envoie des données via mon formulaire, je ne reçois aucun message d'erreur. c'est comme si les données s'enregistraient dans le vide... Du coup j'en viens à me demander si j'ai mal créé ma base au départ? J'ai fait tous les sites pour débutants en php pour trouver une réponse (le site du zéro, noshade.net, etc.), en vain...
Connexion à la base:
<?php
$hote = 'localhost';
$login = 'root';
$pass = '';
$base = 'bdd';
mysql_connect($hote, $login, $pass);
mysql_select_db($base);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Nouvelle notice</title> <style type="text/css"> <!-- .Style1 {font-family: Arial, Helvetica, sans-serif} --> </style> </head> <body> <form action="nouvelle_notice_post.php" method="post" name="nouvelle_notice" id="nouvelle_notice" methode="post"> <h2 align="center"><span class="Style1">Nouvelle notice</span></h2> <p> <select name="doc" size="1" id="doc"> <option>périodique</option> <option>lettre</option> <option>corresponce</option> <option>procès verbal</option> <option>photographie</option> <option>image</option> <option>dactylographié</option> <option>texte manuscrit</option> <option>carbone</option> <option>texte imprimé</option> <option>ronéotypé</option> <option>sténographié</option> </select> </p> <p><strong><span class="Style1">Titre</span><br /> <input name="titre" type="text" id="titre" maxlength="150" /></strong></p> <p><span class="Style1"><strong>Auteur</strong><br /> <input name="auteur" type="text" id="auteur" maxlength="150" /> </span></p> <p class="Style1"><strong>Date</strong><br /> <input name="date" type="text" id="date" maxlength="150" /> </p> <p class="Style1"><strong>Lieu</strong><br /> <input name="lieu" type="text" id="lieu" maxlength="150" /> </p> <p class="Style1"><strong>Editeur</strong><br /> <input name="editeur" type="text" id="editeur" maxlength="150" /></p> <p class="Style1"><strong>Notes</strong><br /> <textarea name="notes" id="notes" cols="55" rows="5"></textarea></p> <p class="Style1"><strong>Mots clés</strong><br /> <input name="mot" type="text" id="mot" maxlength="300" /></p> <p><span class="Style1"><strong>Côte</strong></span><br /> <input name="cote" type="text" id="cote" maxlength="55" /></p> <p> <input type="" name="button" id="button" value="Annuler" /> <input type="" name="button2" id="button2" value="Enregistrer" /> </p> </form> </body> </html>
<?php
include('connexion.inc.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Notices - Enregistrement </title>
<style type="text/css">
<!--
.Style1 {font-family: Arial, Helvetica, sans-serif}
-->
</style></head>
<body>
<h1><span class="Style1">Notice enregistrée</span></h1>
<?php
$doc = addslashes($_POST['doc']);
$titre = addslashes($_POST['titre']);
$auteur = addslashes($_POST['auteur']);
$date = addslashes($_POST['date']);
$lieu = addslashes($_POST['lieu']);
$editeur = addslashes($_POST['editeur']);
$notes = addslashes($_POST['notes']);
$mot = addslashes($_POST['mot']);
$cote = addslashes($_POST['cote']);
mysql_query("INSERT INTO `archive` VALUES ('', '" . $doc . "', '" . $titre . "', '" . $auteur . "', '" . $date . "', '" . $lieu . "', '" . $editeur . "', '" . $notes . "', '" . $mot . "', '" . $cote . "')");
echo '<center><p>Le document a bien été ajouté à la base!</p>
<p><a href="nouvelle_notice.php">Créer une nouvelle notice</a></p>';
}
else
{
echo 'Aucune notice ajoutée';
}
?>
</body>
</html>
<?php
mysql_close();
?>
Configuration: Windows XP Firefox 3.0.10
J'ai lu qu'en diagonal, mais dans ton formulaire,
<select name="doc"><otpion value="1">valeur 1</option></select> du coup si tu as mis le champ "doc" NOt null en base, la requete plante. pour tester la requete: if (mysql_query("INSERT INTO `archive` VALUES ('', '" . $doc . "', '" . $titre . "', '" . $auteur . "', '" . $date . "', '" . $lieu . "', '" . $editeur . "', '" . $notes . "', '" . $mot . "', '" . $cote . "')") )
echo "la requete est bonne";
else
echo "la requete n'est aps bonne";
autre possibilité, que j'utilise plus souvent c'est de faire ainsi : $sql='INSERT INTO `archive` VALUES ('', '" . $doc . "', '" . $titre . "', '" . $auteur . "', '" . $date . "', '" . $lieu . "', '" . $editeur . "', '" . $notes . "', '" . $mot . "', '" . $cote . "')';
echo $sql;
mysql_query($sql);
ainsi tu as la requete et tu vois ce qui ne vas pas |
Bonjour
mysql_query("INSERT INTO `archive` VALUES ('', '" . $doc . "', '" . $titre . "', '" . $auteur . "', '" . $date . "', '" . $lieu . "', '" . $editeur . "', '" . $notes . "', '" . $mot . "', '" . $cote . "')");
Rajouter $foo=mysql_query("INSERT INTO `archive` VALUES ('', '" . $doc . "', '" . $titre . "', '" . $auteur . "', '" . $date . "', '" . $lieu . "', '" . $editeur . "', '" . $notes . "', '" . $mot . "', '" . $cote . "')") or die (mysql_error()." --> "."INSERT INTO `archive` VALUES ('', '" . $doc . "', '" . $titre . "', '" . $auteur . "', '" . $date . "', '" . $lieu . "', '" . $editeur . "', '" . $notes . "', '" . $mot . "', '" . $cote . "')");
Ce qui donnera la description de l'erreur !! Cordialement Irem
|