Bonjour,
J'ai un problème d'enregistrement dans la BDD qui me rend chèvre depuis hier : via un formulaire PHP, j'insère des informations dans ma base de données. Tous les champs s'insèrent normalement, sauf un : "Résumé".
Quoique j'inscrive dans le formulaire dans le champ "Résumé", cela ne s'inscrira pas dans la base de donnée. Par contre à la place, s'affichera toujours les données "Résumé" du dernier message enregistré manuellement dans la base.
J'ai effacé ma base pour un test : j'ai réussi à insérer, via mon formulaire php, toutes les infos de la première entrée.
J'ai ensuite tenté de refaire la même opération pour la seconde entrée et là, le champ "résumé" n'a pas pris en compte ce que j'ai envoyé par le formulaire mais à dupliqué le champ "résumé" de la première entrée.
Je ne sais pas si je suis très claire, je vous propose donc les codes suivants :
Ma BDD
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 -- phpMyAdmin SQL Dump -- version 3.5.1 -- <a href="http://www.phpmyadmin.net" target="_blank">http://www.phpmyadmin.net</a> -- -- Client: localhost -- Généré le: Mar 11 Novembre 2014 à 15:18 -- Version du serveur: 5.1.36-community-log -- Version de PHP: 5.3.0 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Base de données: `Marie08` -- -- -------------------------------------------------------- -- -- Structure de la table `table_Marie08` -- CREATE TABLE IF NOT EXISTS `table_marie08` ( `id` int(3) NOT NULL AUTO_INCREMENT, `titre` varchar(255) NOT NULL, `soustitre` varchar(255) NOT NULL, `datepublication` date NOT NULL, `resume` text NOT NULL, `article` text NOT NULL, `liensource` varchar(255) NOT NULL, `signature` varchar(255) NOT NULL, `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; -- -- Contenu de la table `table_Marie08` -- INSERT INTO `table_Marie08` (`id`, `titre`, `soustitre`, `datepublication`, `resume`, `article`, `liensource`, `signature`, `timestamp`) VALUES (1, 'essai 1609', 'essai 1609', '2014-11-11', 'essai 1609', 'essai 1609', 'essai 1609', 'essai 1609', '2014-11-11 15:09:28'), (2, 'essai 1614', 'essai 1614', '2014-11-11', 'essai 1609', 'essai 1614', 'essai 1614', 'essai 1614', '2014-11-11 15:14:43'), (3, 'essai 1615', 'essai 1615', '2014-11-11', 'essai 1609', 'essai 1615', 'essai 1615', 'essai 1615', '2014-11-11 15:15:52'); /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Le code de mon formulaire :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <form id="inserarticle" action="gestion-article-inserer-envoyer.php" method="post"> <fieldset> <legend>Insertion d'un article</legend> <label for="titre"></label> <input type="text" name="titre" id="titre" placeholder="Titre" maxlength="100" tabindex="10" autofocus /><br /> <label for="soustitre"></label> <input type="text" name="soustitre" id="soustitre" placeholder="Sous-titre" maxlength="100" tabindex="15" /><br /><br /> <label for="datepublication"></label> <input type="date" name="datepublication" id="datepublication" placeholder="Date de publication" tabindex="20" /><br /><br /> <label for="resume"></label> <textarea name="resume" id="resume" placeholder="Résumé" maxlength="1000" tabindex="25"></textarea><br /> <label for="article"></label> <textarea type="text" name="article" id="article" placeholder="Article complet" tabindex="30"></textarea><br /> <label for="liensource"></label> <input type="text" name="liensource" id="liensource" placeholder="Hyperlien de la source" maxlength="200" tabindex="35" /><br /> <label for="signature"></label> <input type="text" name="signature" id="signature" placeholder="Signature de la source" maxlength="150" tabindex="40" /><br /> <?php include("../bbcode-include.php"); ?> </fieldset> <p> <input class="bouton" type="submit" name="submit" id="submit" value="Insérer" tabindex="45" /> <a class="retour" href="gestion.php" title="Retour sur la page de gestion">Retour sur la page de gestion</a> </p> </form>
Et voici le code de ma page qui envoie dans la BDD
Voilà, c'est le genre de code que je fais à longueur d'année, qui fonctionne très bien, mais là... . J'ai cherché à comparer point par point avec ce que j'ai fait ailleurs et qui fonctionne très bien, mais je n'ai rien détecté d'anormal. J'ai repris mes bouquins mais n'ai rien trouvé à corriger.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 <?php // Récupération des paramètres POST $titre = $_POST["titre"]; $soustitre = $_POST["soustitre"]; $datepublication = $_POST["datepublication"]; $resume = str_replace("\n", '<br/>', $_POST["resume"]); $article = str_replace("\n", '<br/>', $_POST["article"]); $liensource = $_POST["liensource"]; $signature = $_POST["signature"]; ?> <?php include("../connexion_sql.php"); ?> <?php include("../bbcode.php"); ?> <?php $req = $bdd->prepare ('INSERT INTO table_Marie08 (titre, soustitre, datepublication, resume, article, liensource, signature, timestamp) VALUES (:titre, :soustitre, :datepublication, :resume, :article, :liensource, :signature, NOW())') or die(print_r($bdd->errorInfo())); $req->execute(array( 'titre' => $titre, 'soustitre' => $soustitre, 'datepublication' => $datepublication, 'resume' => $resume, 'article' => $article, 'liensource' => $liensource, 'signature' => $signature )); if($req) { echo '<p>Insertion réussie !</p>'; } else { echo '<p>Échec à l\'insertion.</p>'; } $req->closeCursor(); ?>
Pourtant, j'ai bien dû faire une boulette quelque part, alors c'est vers vous que je me tourne à présent avant de perdre définitivement la raison !!!
Merci beaucoup de votre aide,
Marie
Partager