편집 기록

편집 기록
  • 프로필 엽토군님의 편집
    날짜2021.06.06

    Node.js와 Mongodb로 회원가입을 구현하려 합니다.


    안녕하세요 다름이 아니라
    node.js와 mongoDB로 회원가입을 구현하려고 코드를 짜는 중인데,
    계속 username과 password를 가져오지를 못해서 질문 드립니다.
    비전공자 두명이서 고민해도 도대체 무엇이 문제인지 알 수가 없네요 ㅠㅠ

    우선, register.ejs 파일입니다.

    <body>
        <div class="center">
            <h1>회 원 가 입</h1>
            <form action= "/users/register" method="POST" enctype="multipart/form-data">
    
                <div class="txt_field">
                    <input type="text" id="username" name="username" required>
                    <span></span>
                    <label>Username</label>
                </div>
    
                <div class="txt_field">
                    <input type="password" id="password" name="password" required>
                    <span></span>
                    <label>Password</label>
                </div>
    
                <input type="submit" value="Register" id="sendMassageButton">
    
            </form>
        </div>
    </body>
    

    storeUser.js입니다.

    const User = require('../models/User.js')
    const path = require('path')
    
    module.exports = (req,res) =>{
        User.create(req.body, (error, user)=>{
            res.redirect('/')
        })
    }
    

    User.js 입니다.

    const mongoose = require('mongoose')
    
    const UserSchema = new mongoose.Schema({
        username: String,
        password: String
    });
    
    
    //export model
    const User = mongoose.model('User',UserSchema);
    
    module.exports = User
    

    마지막으로 index.js 입니다.

    const express = require('express')
    const app = new express()
    
    const mongoose = require('mongoose');
    const path = require('path')
    
    const storeUserController = require('./controllers/storeUser')
    
    mongoose.connect('mongodb://localhost/user_database',{
        useNewUrlParser: true,
        useUnifiedTopology: true});
    
    
    const ejs = require('ejs')
    
    app.set('view engine','ejs')
    app.use(express.static('public'))
    
    app.listen(4000, ()=>{
        console.log('App listening on port 4000')
    })
    
    
    app.get('/',(req,res)=>{
        res.render('index');
    })
    
    app.post('/users/register',storeUserController)
    

    도대체 뭐가 문제일까요 ..ㅠㅠㅠㅠ register 버튼을 누르면 mongoDB에 뭐가 저장되기는 하는데... 텅텅 비어있습니다...

    뭔가 register.ejs에 있는 text상자에서 username과 password를 못가져오는 거 같은데 왜이러는지 진짜 답답해서 미칠거같네요...

    이미지

    위에 두개는 test.js를 따로 만들어서 임의로 저장해 본 것입니다.
    register 버튼을 누르면 제일 마지막처럼 이상한 녀석만 뜹니다..
    ejs에서 뭔가 문제가 있는거 같은데 도대체 왜이러나요 흑흑 ... 도와주십셔...

  • 프로필 알 수 없는 사용자님의 편집
    날짜2021.06.06

    Node.js와 Mongodb로 회원가입을 구현하려 합니다.


    안녕하세요 다름이 아니라 node.js와 mongoDB로 회원가입을 구현하려고 코드를 짜는 중인데, 계속 username과 password를 가져오지를 못해서 질문 드립니다. 비전공자 두명이서 고민해도 도대체 무엇이 문제인지 알 수가 없네요 ㅠㅠ

    우선, register.ejs 파일입니다.

    <body>
        <div class="center">
            <h1>회 원 가 입</h1>
            <form action= "/users/register" method="POST" enctype="multipart/form-data">
    
                <div class="txt_field">
                    <input type="text" id="username" name="username" required>
                    <span></span>
                    <label>Username</label>
                </div>
    
                <div class="txt_field">
                    <input type="password" id="password" name="password" required>
                    <span></span>
                    <label>Password</label>
                </div>
    
                <input type="submit" value="Register" id="sendMassageButton">
    
            </form>
        </div>
    </body>
    

    storeUser.js입니다.

    const User = require('../models/User.js')
    const path = require('path')
    
    module.exports = (req,res) =>{
        User.create(req.body, (error, user)=>{
            res.redirect('/')
        })
    }
    

    User.js 입니다.

    const mongoose = require('mongoose')
    
    const UserSchema = new mongoose.Schema({
        username: String,
        password: String
    });
    
    
    //export model
    const User = mongoose.model('User',UserSchema);
    
    module.exports = User
    

    마지막으로 index.js 입니다.

    const express = require('express')
    const app = new express()
    
    const mongoose = require('mongoose');
    const path = require('path')
    
    const storeUserController = require('./controllers/storeUser')
    
    mongoose.connect('mongodb://localhost/user_database',{
        useNewUrlParser: true,
        useUnifiedTopology: true});
    
    
    const ejs = require('ejs')
    
    app.set('view engine','ejs')
    app.use(express.static('public'))
    
    app.listen(4000, ()=>{
        console.log('App listening on port 4000')
    })
    
    
    app.get('/',(req,res)=>{
        res.render('index');
    })
    
    app.post('/users/register',storeUserController)
    

    도대체 뭐가 문제일까요 ..ㅠㅠㅠㅠ register 버튼을 누르면 mongoDB에 뭐가 저장되기는 하는데... 텅텅 비어있습니다...

    뭔가 register.ejs에 있는 text상자에서 username과 password를 못가져오는 거 같은데 왜이러는지 진짜 답답해서 미칠거같네요...

    이미지

    위에 두개는 test.js를 따로 만들어서 임의로 저장해 본 것입니다. register 버튼을 누르면 제일 마지막처럼 이상한 녀석만 뜹니다.. ejs에서 뭔가 문제가 있는거 같은데 도대체 왜이러나요 흑흑 ... 도와주십셔...