• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 JavaScript, TS 게시판 애플마켓 코스에서 로그인 기능

애플마켓 코스에서 로그인 기능

3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 글쓴이
  • #26869

    조찬호
    참가자

    코드는

     

     

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
      <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">

    </head>
    <body>
      <script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>

      <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
      <script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-app.js"></script>
      <script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-auth.js"></script>
      <script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-firestore.js"></script>
      <script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-storage.js"></script>
      <script>
      const firebaseConfig = {
        apiKey: "AIzaSyAZsHEVE-61C4cNF9ohigJq5pwbaOAHdWY",
        authDomain: "carrot-b122c.firebaseapp.com",
        projectId: "carrot-b122c",
        storageBucket: "carrot-b122c.appspot.com",
        messagingSenderId: "35305154729",
        appId: "1:35305154729:web:c3fad5e9ac682c21a121b8"
       };
       firebase.initializeApp(firebaseConfig);
      </script>

      <nav class="navbar navbar-expand-lg navbar-light bg-light">
        <div class="container-fluid">
          <a class="navbar-brand" href="#">당근마켓</a>
          <span class="ms-auto mx-2" id="userName"></span>
          <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
          </button>
          <div class="collapse navbar-collapse" id="navbarSupportedContent">
            <ul class="navbar-nav me-auto mb-2 mb-lg-0">
              <li class="nav-item">
                <a class="nav-link active" aria-current="page" href="#">Home</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="#">Link</a>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                  Dropdown
                </a>
                <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
                  <li><a class="dropdown-item" href="#">Action</a></li>
                  <li><a class="dropdown-item" href="#">Another action</a></li>
                  <li><hr class="dropdown-divider"></li>
                  <li><a class="dropdown-item" href="#">Something else here</a></li>
                </ul>
              </li>
              <li class="nav-item">
                <a class="nav-link disabled">Disabled</a>
              </li>
            </ul>
            <form class="d-flex">
              <input class="form-control me-2" type="search" placeholder="Search" aria-label="Search">
              <button class="btn btn-outline-success" type="submit">Search</button>
            </form>
          </div>
        </div>
      </nav>

      <div class="container mt-3">
        <div class="mb-3">
          <input type="text" class="form-control" placeholder="name" id="name-new">
        </div>
        <div class="mb-3">
          <input type="email" class="form-control" placeholder="email" id="email-new">
        </div>
        <div class="mb-3">
          <input type="password" class="form-control" placeholder="pw" id="pw-new">
        </div>
        <button type="submit" class="btn btn-primary" id="register">가입하기</button>
     </div>

      <div class="container mt-3">
       
        <div class="mb-3">
          <input type="email" class="form-control" placeholder="email" id="email">
        </div>
        <div class="mb-3">
          <input type="password" class="form-control" placeholder="pw" id="pw">
        </div>
        <button type="submit" class="btn btn-primary" id="login">로그인하기</button>
        <button type="submit" class="btn btn-primary" id="logout">로그아웃하기</button>
      </div>

      <script>
        const db = firebase.firestore();
        const storage = firebase.storage();

        firebase.auth().onAuthStateChanged((user)=>{
          if(user){
            console.log(user.uid)
            console.log(user.displayName)
            $('#userName').html(user.displayName)
          }
        })
        $('#logout').click(function(){
          firebase.auth().signOut()
        })

       
        $('#login').click(function(){
          var 이메일 = $('#email-new').val();
          var 패스워드 = $('#pw-new').val();
          firebase.auth().signInWithEmailAndPassword(이메일,패스워드).then((result)=>{
            console.log(result.user)
          })
        })

        $('#register').click(function(){
     
         var 이메일 = $('#email-new').val();
         var 패스워드 = $('#pw-new').val();
         var 이름 = $('#name-new').val();

         firebase.auth().createUserWithEmailAndPassword(이메일, 패스워드).then((result)=>{
           console.log(result);
           console.log(result.user);
           result.user.updateProfile({displayName : 이름})
          })
        })

      </script>

     

     
    </body>

    </html>

    이렇습니다. 제가 볼때는 진짜 하나도 틀린것도 없고 논리성도 잘맞고 또 선생님이 하신대로 따라하기도 했고 오류날것이 없어보입니다. 

    하지만 제가 회원가입을 하고 바로 로그인을 하고 로그아웃하고 로그인 하고 하는것은 잘됩니다. 하지만 새로고침하고 다시 똑같은 아이디와 패스워드를 기입했을때는 

    T {code: 'auth/invalid-email', message: 'The email address is badly formatted.', a: null}a: nullcode: "auth/invalid-email"message: "The email address is badly formatted."[[Prototype]]: Error
    (익명) @ nexttick.js:33
    setTimeout(비동기)
    se @ nexttick.js:33
    (익명) @ promise.js:1269
    le @ run.js:124
    Promise.then(비동기)
    ie @ run.js:55
    ue @ run.js:34
    Ne @ promise.js:1029
    Ee @ promise.js:791
    Ae @ promise.js:847
    fe.then @ promise.js:569
    t.Uc @ auth.js:1695
    i @ exports_lib.js:197
    (익명) @ login.html:135
    dispatch @ jquery-3.6.0.min.js:2
    v.handle @ jquery-3.6.0.min.js:2

    이런 문구가 뜨며 계속 안됩니다.  하지만 다시 가입하기를 하고 그 뜨끈뜨끈한 아이디로 로그인을 하면 또 잘됩니다. 왜이럴까요? 지금 몇시간째 이걸 고민하고 있는데 도저히 답이 안나와서 질문을 올립니다. 

    #26875

    codingapple
    키 마스터

    로그인란이랑 가입란을 똑같이 $('#email-new').val(); 이걸로 찾아서 그런듯요

    하나는 #email 이어야할듯요 

    #26876

    조찬호
    참가자

    아이고야 ㅠㅠ 맞네 감사합니다. 

3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠