Q:

req.body is returning a default value and not my POST request

I'm sure I am making a small error and I cannot find the answer in other questions.  Basically every time I try to make a POST request the console is displaying "{}" instead of the value from the post request.  I am using EJS and Node.js to deal with this POST request. 
Here's the code from the ejs file
<label> My Favourite Saying</label>
    <form action ="/users/dashboard" method ="POST">
        <div class = "form-group">
        <input 
        type="name" 
        id="favSaying" 
        class="form-control"
        placeholder = "Enter phrase here"
        />
        </div>
        <small id="FavSayingInst" class="form-text text-muted">
            Enter a phrase to have it stored for the next time you login. 
        </small>
    <button type="submit" class="btn btn-dark mt-2">Submit</button>
</div>
</form>

Here is the code from the handler file
//Handle the fav saying
router.post('/dashboard', (req,res) => {
  console.log(req.body);
  console.log("test123");
  //User.findOneAndUpdate({email:'tester2@gmail.com', favSaying})
  req.flash('store_msg', 'Your phrase has been stored!'); 
  res.redirect('/views/dashboard');
});

I've already added the body parser so I know it's not that, :
const express = require('express');
const expressLayouts = require('express-ejs-layouts');
const app = express();
const mongoose = require('mongoose');
const flash = require('connect-flash');
const session = require('express-session');
const passport = require('passport');

require('./config/passport')(passport);

//EJS
app.use(expressLayouts);
app.set('view engine','ejs');

//DB Config
const db = require('./config/keys').MongoURI;

//Connect to Mongo
mongoose.connect(db, { useNewUrlParser: true })
.then(() => console.log('MongoDB connected...'))
.catch(err => console.log(err));

//Bodyparser
app.use(express.urlencoded({extended: false}));

//Session
app.use(session({
    secret: 's',
    resave: true,
    saveUninitialized: true
}));

//Passport
app.use(passport.initialize());
app.use(passport.session());

//Connect flash
app.use(flash());

//Vars
app.use((req,res,next) => {
    res.locals.success_msg = req.flash('success_msg');
    res.locals.error_msg = req.flash('error_msg');
    res.locals.error = req.flash('error');
    res.locals.store_msg = req.flash('store_msg');
    next();
});

//Routes
app.use('/', require('./routes/index2')); //The first comment is where the webpage routes to, the second is the js file
app.use('/users', require('./routes/users'));

const PORT = process.env. PORT || 5000; 

app.listen(PORT, console.log(`Server started on Port  ${PORT}`));

Does anyone know why I would be getting "{}" instead of my values?  I have

A:

The input element should have a name attribute to transmit the data into the request.