2. Join - asdfgl98/Project-CodeBuddy GitHub Wiki
- axiosλ₯Ό μ¬μ©ν΄ λΉλκΈ° λ°©μμΌλ‘ μμ΄λ μ€λ³΅νμΈμ νκ³ , μμ΄λ μ¬μ©μ΄ κ°λ₯ν λ νμκ°μ μ²λ¦¬λ₯Όν©λλ€.
- IDμ€λ³΅νμΈμ ν΄λ¦ μ, axiosλ‘ μ€λ³΅νμΈ λΌμ°ν°μ μ λ ₯ν IDλ₯Ό ν¬ν¨νμ¬ μμ²μ λ³΄λ΄ λΌμ°ν° λ΄λΆμμ DBμ μ°κ²°νμ¬ κ²μ¦ν©λλ€.
- DBμ μλ μμ΄λ -> μ¬μ©μ΄ κ°λ₯ν μμ΄λ μ λλ€. μΆλ ₯
- DBμ μλ μμ΄λ -> μ€λ³΅λ μμ΄λ μ λλ€. μΆλ ₯
- κ³΅λ°±μ΄ μκ±°λ, μ€λ³΅ νμΈμ μνμ λ νμκ°μ ν΄λ¦ μ - > ID νμΈ λλ λΉμΉΈμ νμΈν΄μ£ΌμΈμ. μΆλ ₯
νμκ°μ μμ΄λ κ²μ¦ λ‘μ§
public -> js -> join.js
// μ§ν μμ - νμκ°μ
μμ΄λ κ²μ¦ λ‘μ§
const idBtn = document.getElementById('idBtn')
const idCk = document.getElementById('idCk')
const subBtn = document.getElementById('subBtn')
const idInput = document.querySelector('#inputId')
const pwInput = document.querySelector('#pwInput')
const nameInput = document.querySelector('#userName')
const nickInput = document.querySelector('#userNick')
// μμ΄λ μ€λ³΅μ²΄ν¬ νμΈμ¬λΆ
let dupCk = false
// μμ΄λ μ¬μ©κ°λ₯ μ¬λΆ
let idUse = false
//μμ΄λ μ€λ³΅κ²μ¬
function idCheckHandler(){
const data = document.querySelector('#inputId').value
axios.post('/user/idCheck', {idCheck : data})
.then(res=>{
if(res.data){
if(data == ''){
idCk.innerText = 'μμ΄λλ₯Ό μ
λ ₯ν΄μ£ΌμΈμ.'
idCk.style.color = 'red'
idUse = false
}
else{
idCk.innerText = 'μ¬μ©μ΄ κ°λ₯ν μμ΄λ μ
λλ€.'
idCk.style.color = 'green'
idUse = true
checkMsg.innerText = ''
}
}
else{
idCk.innerText = 'μ€λ³΅λ μμ΄λ μ
λλ€.'
idCk.style.color = 'red'
idUse = false
}
})
dupCk = true
}
// μμ΄λ μ€λ³΅λ²νΌ ν΄λ¦ μ μ€λ³΅κ²μ¬
idBtn.addEventListener('click',idCheckHandler)
// μμ΄λ μμ μ μ€λ³΅μ²΄ν¬μ¬λΆ μ΄κΈ°ν
idInput.addEventListener('input',()=>{
dupCk = false
})
// νμκ°μ
ν΄λ¦μ
subBtn.addEventListener('click',(event)=>{
// μ€λ³΅μ²΄ν¬μ μμ΄λ μ¬μ©κ°λ₯ μ¬λΆ νμΈ νμ νΌ μ μΆνκΈ° μν΄ νΌ μ μΆ κΈ°λ₯ μ°¨λ¨
event.preventDefault()
if(dupCk == false){
checkMsg.innerText = 'μμ΄λ μ€λ³΅μ²΄ν¬λ₯Ό ν΄μ£ΌμΈμ'
checkMsg.style.color = 'red'
}
else{
if(idUse == false){
checkMsg.innerText = 'μμ΄λλ₯Ό νμΈν΄μ£ΌμΈμ'
checkMsg.style.color = 'red'
}
}
if(pwInput.value == '' || nameInput.value == '' || nickInput.value == ''){
checkMsg.innerText = 'ID νμΈ λλ λΉμΉΈμ νμΈν΄μ£ΌμΈμ'
checkMsg.style.color = 'red'
}
if(dupCk && idUse && pwInput.value != '' && nameInput.value != '' && nickInput.value != ''){
// μ€λ³΅μ²΄ν¬ νμΈκ³Ό μμ΄λ μ¬μ© κ°λ₯ μ form μ μΆ
const myForm = document.getElementById('myform');
myForm.submit(); // νΌ μ μΆ
// νμκ°μ
μ±κ³΅μ μλ λ‘κ·ΈμΈ λ²νΌ ν΄λ¦
axios.post('/user/checkend',{ck : 'hello'})
.then(res=>{
if(res.data.success){
document.getElementById('loginCk').click()
}
else{
console.log('μλ¬',res.data)
}
})
}
})
μμ΄λ μ€λ³΅μ²΄ν¬ λ° νμκ°μ μ±κ³΅ λΌμ°ν°
routes -> user.js (line 60)
//μμ΄λ μ€λ³΅μ²΄ν¬
router.post('/idCheck',(req,res)=>{
let id = req.body.idCheck
let checkId = 'SELECT USER_ID FROM TB_USER WHERE USER_ID =?'
console.log('μμ΄λμ€λ³΅',req.body.idCheck)
let checkEnd = true
conn.connect();
conn.query(checkId,[id],(err,result)=>{
if(err){
console.log('쿼리문 μλ¬λ°μ')
}
else{
if(result.length == 0){
console.log('νμκ°μ
κ°λ₯')
}
else{
console.log('μ΄λ―Έ μ‘΄μ¬νλ μμ΄λ')
checkEnd = false
}
}
res.send(JSON.stringify(checkEnd))
})
})
// νμκ°μ
let checkEnd = false
router.post('/join',(req,res)=>{
let id = req.body.userId // μ¬μ©μκ° μ
λ ₯ν ID
let pw = req.body.userPw // μ¬μ©μκ° μ
λ ₯ν PW
let name = req.body.userName // μ¬μ©μ μ΄λ¦
let nick = req.body.userNick // μ¬μ©μκ° μ
λ ₯ν NICKNAME
let dev_year = req.body.dev_year // μ μ
κ°λ°μ or κ²½λ ₯κ°λ°μ
let school = req.body.school // λ©ν or λ©ν°
let langJs = req.body.js // = js
let langPy = req.body.py // = py
let insertInfo = 'INSERT INTO TB_USER ( USER_ID , USER_PW , USER_NAME , USER_NICK , USER_LEVEL , USER_MENTORING) VALUES (?,?,?,?,?,?)';
let insertLang = 'INSERT INTO TB_LANG ( USER_ID , LANG_SKILL) VALUES (?,?)'
conn.connect()
conn.query(insertInfo,[id,pw,name,nick,dev_year,school],(err,result)=>{
if(err){
// console.log('μλ¬λ΄μ© :', err)
console.log('μ΄λ―Έ μ‘΄μ¬νλ ID μ
λλ€.')
}
else{
console.log('νμκ°μ
μλ£')
if(langJs == 'javaScript'){
conn.query(insertLang,[id,langJs],(err,result)=>{
if(err){
console.log('TB_LANG 쿼리문 μ€λ₯')
}
})
}
if(langPy == 'python'){
conn.query(insertLang,[id,langPy],(err,result)=>{
if(err){
console.log('TB_LANG 쿼리문 μ€λ₯')
}
})
}
}
})
})