Nodejs: Ajouter un Utilisateur

1.Model: Créer la fonction insert() dans le model models/Utilisateur.js

var dbConn = require('./../../config/db');
var Utilisateur = function (utilisateur) {
this.id = utilisateur.id;
this.nom = utilisateur.nom;
this.email = utilisateur.email;
this.password = utilisateur.password;
this.photo = utilisateur.photo;

};
Utilisateur.insert = function (utilisateur, result) {
dbConn.query("INSERT INTO utilisateurs set ?", utilisateur, function (err, res) {
if (err) {

console.log("error: ", err);
result(err, null);
}
else {
console.log(res.insertId);
result(null, res.insertId);
}
});
}

module.exports = Utilisateur;

2.Controller: Ajouter les fonctions ajouter() et ajouterValider() dans le le controller controllers/UtilisateurController.js

const Utilisateur = require('../models/Utilisateur');

exports.ajouter = function (req, res) {
const message = req.flash('message');

res.render((__dirname + '/../../src/views/utilisateurs/ajouter.ejs'), {
nom: '',
email: '',
password: '',
photo: '',
message: message
});
};


exports.ajouterValider = function (req, res) {
const new_utilisateur = new Utilisateur(req.body);
if (Utilisateur.verifier(new_utilisateur)) {
req.flash('message', "Erreur");
res.redirect('/utilisateurs/ajouter');
}
else {
Utilisateur.insert(new_utilisateur, function (err, utilisateur) {
if (err)
res.send(err);
req.flash('message', "Success");
res.redirect('/utilisateurs/ajouter');
});
}
};

3.Routes: : Ajouter la route dans le fichier de routage routes/UtilisateurRoutes.js

const express = require('express');
const routerUtilisateurs = express.Router();

const UtilisateurRoutes = require('../controllers/UtilisateurController');

routerUtilisateurs.get('/ajouter', UtilisateurRoutes.ajouter);
routerUtilisateurs.post('/ajouter', UtilisateurRoutes.ajouterValider);

module.exports = routerUtilisateurs

4.View: : créer la vue views/utilisateurs/ajouter.ejs

<!doctype html>
<html lang="en">
<head>
<title>Add utilisateurs</title>
<%- include('../nav.ejs') %>
<% if (message=="Success") { %>
<div class="alert alert-success" role="alert">Bien ajouté</div>
<% } %>
<% if (message=="Erreur") { %>
<div class="alert alert-danger" role="alert">Erreur tout tous les champs sont obligatoires </div>
<% } %>

<div class="card">
<div class="card-header"> Ajouter un utilisateur </div>
<div class="card-body">
<form action="/utilisateurs/ajouter" method="post">
<div class="form-group">
<input type="text" class="form-control" name="nom" value="<%= nom %>" placeholder="nom">
</div>
<div class="form-group">
<input type="email" class="form-control" name="email" value="<%= email %>" placeholder="email">
</div>
<div class="form-group">
<input type="password" class="form-control" name="password" value="<%= password %>" placeholder="password">
</div>
<div class="form-group">
<input type="text" class="form-control" name="photo" value="<%= photo %>">
</div>
<div class="form-group">
<input type="submit" class="btn btn-info" value="Valider" />
</div>
</form>
</div>
</div>
</body>
</html>

5.Server: : lancer le serveur node Serveur.js

node Serveur.js








Cours et TPs