Bonjour, Je suis entrain de réalisé une application qui gère les travaux scientifiques.
Le formulaire nouveau_travail.ejs permet d'enregistrer les données dans une table direction de la base des données crée en MySQL.
Mais j'ai constate que la donnée qui est enregistrer dans la table sont des objets et non des textes.

Voici les code du serveurs:
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
const mysql=require('mysql');
const express=require('express');
var app=express();
const bodyparser=require('body-parser');
const path=require('path');
 
 
//ajout du middleware body-parser
app.use(bodyparser.json());    
 
//set upp public directory to serve static files
console.log(__dirname)
app.use(express.static('public'));
 
//ouverture de la connexion à la bd
var mysqlConnection=mysql.createConnection({
    host:'localhost',
    user:'root',
    password:'',
    database:'bdupc'
}    
);
 
mysqlConnection.connect((err)=>{
    if(err)
    console.log('probleme de conexion:'+err);
    else console.log('connexion à la BD etablie...');
});
 
//ouveryure du serveur
app.listen(8085,()=>{
    console.log('Serveur demarre au port :8085');
});
 
// settings
app.set('views', path.join(__dirname, 'vue'));
app.set('view engine', 'ejs');
 
//routage de l'application
//1. APPEL DU FORMULAIRE QUI AFFICHE LES DONNEES
 
app.get("/",(req,resp)=>{
    //consultation de la bd
 
    //consultation de la bd
    mysqlConnection.query('select * from direction',(err,rows,fields)=>{
        if(err)console.log("Probleme de chargement de la BD");
        else{
            console.log(rows);
            resp.render('user_index',{
                title:'DIRECTION TRAVAUX SCIENTIQUE',
                data:rows
            });
        }
    });    
 
});
 
//2.APPEL DU FORMULAIRE DE SAISIE TRAVAIL
 
app.get("/nouveau_travail",(req,resp)=>{
    resp.render('nouveau_travail',{
        title:'NOUVEAU TRAVAUX SCIENTIQUE'
    });
});
 
app.post("/save",(req,resp)=>{
    //insertion d'une donnée
    const data={nom_etudiant:req.body,prenom_etudiant:req.body,contact:req.body,
    sujet:req.body,statut:req.body};
    var sql="insert into direction set ? ";
 
    mysqlConnection.query(sql,[data],(err,fields)=>{
        if(err)console.log("Echec d'enregistrement à BD");
        else{
            console.log("Enregistrement effectuee");
            resp.redirect("/");
        }
    });
});

Pour ce qui du formulaire de saisie:
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<html>
    <head>
        <title></title>
        <link href="css/bootstrap.min.css" rel="stylesheet">
    </head>
    <body>
        <div class="container"><!--fin div container-->
            <h2><%= title %></h2>
            <form action="/save" method="post">
                <div class="form-group">
                    <label for="nom_etudiant">Nom Etudiant</label>
                    <input type="text" name='nom_etudiant' class='form-control' size="30" id="nom_etudiant"
                      placeholder="Nom de l'étudiant" >
                </div>
 
                <div class="form-group">
                    <label for="prenom_etudiant">Prenom Etudiant</label>
                    <input type="text" name='prenom_etudiant' class='form-control' size="30" id="prenom_etudiant"
                      placeholder="Prenom de l'étudiant" required>
                </div>
 
                <div class="form-group">
                    <label for="contact">Contact</label>
                    <input type="text" name='contact' class='form-control' size="30" id="contact"
                      placeholder="Contact de l'étudiant" required>
                </div>
 
                <div class="form-group">
                    <label for="sujet">Sujet</label>
                    <textarea name="sujet" class='form-control' id="sujet" cols="50" rows="5"></textarea>
                </div>
 
                <div class="form-group">
                    <label for="statut">Statut</label>
                    <select name='statut' class='form-control'>
                        <option value="1">Travail encours</option>
                        <option value="0">Travail cloturé</option>
                    </select>
                </div>
                <button type='submit' class="btn btn-primary"> Sauvegarder</button>
            </form>
        </div><!--fin div container-->
    </body>
</html>


Mais au niveau de la base des données, ce qui est insére se présente comme suit:

Nom : tables.png
Affichages : 2117
Taille : 14,9 Ko

Pourriez vous me dire à quel niveau se situe le problème.