Bonjour à toutes et à tous,
Objectif :
Insertion dans la table publications d'un texte saisi par un producteur dans son espace perso.
Dans le code ci-après je tente d'insérer un texte dans la table publications mais aucun message ne s'affiche et l'injection SQL ne se fait pas.
Ce code est appelé par le fichier php suivant :
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
32
33
34
35
36
37
38
39
40
41
42
43 <?php //session_start(); require_once 'includes/inc_connexion.php'; include 'includes/inc_identification.php'; $conn=opendb_conn(); // on se connecte à la Base de données /** Script effectuant le traitement de l'insertion dans la table publication du texte publié depuis le formulaire */ if(isset($_POST) && !empty($_POST['contenu']) && !empty($_SESSION['id'])) { $id = $_SESSION['id']; $contenu = $_POST['contenu']; // requête pour l'insertion du texte dans la table des publications $req = "insert into publications values(null,:texte,CURDATE(),:idproducteur)"; // on prépare le traitement de la requête $stmt = $conn->prepare($req); if($_POST['submit']) { // Pour sécuriser l'insertion en base d'un nouveau texte à publier nous utilisons le mode transactionnel // avec un bloc try ... catch() try { $conn->beginTransaction(); // on associe les marqueurs nommés avec les variables crées plus haut $stmt->bindParam(':texte', $contenu, PDO::PARAM_STR); $stmt->bindParam(':idproducteur', $id, PDO::PARAM_INT); // id du producteur effectuant la publication // exécution de la requête $stmt->execute(); // on commit $conn->commit(); // on affiche un message print '<div style="color:#132959">Publication du texte réussie! ... </div>'; echo "ok"; }catch(PDOException $e) { // on rollback $conn->rollback(); // on affiche un message d'erreur print "Erreur lors de l'insertion en base !: " . $e->getMessage() . "</br>"; echo 'erreur'; } // try ... catch() } //if($_POST['submit']) } //if print_r($_POST); ?>
Merci d'avance,
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 <?php //session_start(); A session had already been started - ignoring session_start() in ..../inc_identification.php include 'includes/inc_identification.php'; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <link rel="stylesheet" href="css/eltStyle.css" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script><!-- Invocation de la bibliothèque jquery.js --> <script src="js/jquery-ui-1.8.23.js"></script> <script src="js/afficherZoneTexte.js"></script><!-- Code jQuery rattaché à la page --> <title>Le cercle des vignobles - Carnets du vignoble</title> </head> <body> <div id="bloc_page"> <header> <?php include("includes/inc_menus.php"); if(isset($_SESSION['login'])) { //si la session est en cours ... j'affiche le login de connexion echo '<div class="site_conn">connecté'.' ['.$_SESSION['login'].']'.'</div>'; } ?> <form action="disconn_producteur.php" method="post"> <input type="submit" class="disconnect" value="Se déconnecter" /> </form> </header><!-- header --> <?php include("includes/inc_publication.php"); ?> <!-- div pour l'ajout du résultat en ajax--> <div id="resultatAjax"></div> <!-- div pour l'ajout du message d'erreur --> <div class="error" style="color:#FF000"></div> <form name="form2" id="formText" method="post" action="ajout_publierTexte.php"> <textarea name="contenu" rows="25" cols="130" maxlength="5000" > </textarea> <!-- div pour l'ajout du loader d'attente ajax --> <div id="loader" style="display:none"><img src="img/loader.gif" alt="loader" /></div> <p> <input type="submit" class="publier" name="submit" id='submit' value="Publier" /> </p> </form><!-- formText --> <form name="form3" id="formMedia" method="post" action="#"> <button id="vins" class="zone_ajout" >« Intégrer mes vins »</button> <button id="photos" class="zone_ajout" >« Ajouter des photos »</button> </form><!-- formMedia --> </div><!-- bloc_page --> </body> </html>
Transact.
Partager