게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
(본삭금) C# 왕초보질문 (+DB약간)
게시물ID : programmer_12628짧은주소 복사하기
작성자 : 2Q14
추천 : 0
조회수 : 587회
댓글수 : 2개
등록시간 : 2015/08/08 23:07:23
옵션
  • 본인삭제금지
안녕하세요 웹사이트 만들고픈 왕초보 입니다ㅠㅜㅠㅜ 

저번에 질문글 올렸는데 답변을 못받고...
혼자힘으로 해결하려고 구글링도 열심히 도서관에서 책도빌려 참고도 했지만ㅠㅠㅠ

다시 질문하러 왔습니다.

뭐가 문제인지 전혀 감이 안잡히네요ㅋㅋㅋㅋ

제가 하고 싶은것은 ASP.NET의 로그인뷰 컨트롤 안에 있는 아이디랑 비밀번호 상자의 텍스트를 취하여

DB에 있는 자료와 비교 후 일치 불일치를 따지는 코드 입니다.ㅎㅎㅎ

보안쿠키 생성은 그 뒤에 나중에 하려고 합니다.


-------------------------------------------------------------------------------------------------------------------------------------------------------
로그인뷰 안의 인증되지 않은 사용자 탬플릿에 아이디랑 비번 텍스트 상자를 만듦
-------------------------------------------------------------------------------------------------------------------------------------------------------
K-001.jpg


-------------------------------------------------------------------------------------------------------------------------------------------------------
사진 안보이시는 분을 위해 간략히 요약하면


<asp:LoginView ID="lvMiddleLogin" runat="server">

         <AnonymousTemplate>
                    
                    <asp:TextBox ID="txtMiddleUserId" runat="server" ></asp:TextBox>
                                                                 
                    <asp:TextBox ID="txtMiddleUserPassword" runat="server"></asp:TextBox>
                           
                    <asp:Button ID="btnMiddleLogin" runat="server" Text="로그인" onclick="btnMiddleLogin_Click" />               
           
         </AnonymousTemplate>

          <LoggedInTemplate>

                     블라블라

          </LoggedInTemplate>

</asp:LoginView>
-------------------------------------------------------------------------------------------------------------------------------------------------------


-------------------------------------------------------------------------------------------------------------------------------------------------------
그리고 로그인 버튼을 누르면 텍스트박스에 적힌 글을 회원DB와 비교하여 창이 뜨게함
-------------------------------------------------------------------------------------------------------------------------------------------------------
K-002.jpg

-------------------------------------------------------------------------------------------------------------------------------------------------------
사진이 안보이시는 분들을 위해

protected void btnMiddleLogin_Click(object sender, EventArgs e)
    {
        string id = lvMiddleLogin.FindControl("txtMiddleUserId").ToString();               //아이디 가져옴
        string pwd = lvMiddleLogin.FindControl("txtMiddleUserPassword").ToString();  // 비번 가져옴
        
        string connectionString = WebConfigurationManager.ConnectionStrings["GongSaeng"].ConnectionString; // 연결문자열 읽어오기
        SqlConnection conn = new SqlConnection(connectionString);                                                            //connection 객체 생성
        SqlCommand cmd = new SqlCommand();                                                                                       // command 객체 생성

        cmd.Connection = conn;                                                                                                              // 연결객체할당
        cmd.CommandText = "SELECT user_no FROM dbo.UserInfo WHERE id='"+id+"' AND password='"+pwd+"'";  
                                                                                                                 //텍스트상자의 아이디 비번이 DB에 있는지 검색하는 SQL문
        conn.Open();                                                                                                                               //연결열기

        SqlDataReader rd = cmd.ExecuteReader();                                                                                          //결과집합을 할당

        if (rd.HasRows == true)                                                                              // rd가 하나이상의 행을 가지고 있는지에 따라 세종류로 분류
        {
            ClientScript.RegisterStartupScript(typeof(Page), "alert", "<script language=JavaScript> alert('로그인 성공');</script>");    
            rd.Close();
            conn.Close();
        }
        else if (rd.HasRows == false)
        {
            ClientScript.RegisterStartupScript(typeof(Page), "alert", "<script language=JavaScript> alert('잘못된 로그인');</script>");
            rd.Close();
            conn.Close();
        }
        else
        {
            ClientScript.RegisterStartupScript(typeof(Page), "alert", "<script language=JavaScript> alert('제3의 오류');</script>");
            rd.Close();
            conn.Close();
        }
    }


-------------------------------------------------------------------------------------------------------------------------------------------------------
현재 DB에는 하나의 회원만 있습니다.
아무렇게나 아이디 비번 입력해서 로그인 버튼 누르면 
비번상자 안의 내용은 사라지고 아래와 같이 창이 뜹니다.
-------------------------------------------------------------------------------------------------------------------------------------------------------


K-003.jpg


-------------------------------------------------------------------------------------------------------------------------------------------------------
그런데 정말 DB에 존재한 아이디와 비번을 정확하게 입력해서 로그인 버튼을 누르면

아이디 비번창의 내용이 모두 사라지고 아무런 창이 뜨지 않습니다.......

이게 어떻게 된일일까요>??ㅠㅠㅠㅠ


하다 못해 경고창이 셋중에 하나는 떠야하는 거 아닌가요????




조언좀 부탁 드립니다ㅠㅠㅠㅠㅠ 여기서 포기하고 싶지가 않습니다ㅠㅠㅠ

인증방식은 폼인증하려고하는데 보안쿠키는 이걸 해결하고 난 후에 해야할것 같습니다.
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호