|
저도 잘 모르는 초보지만..
이런 것은 보통 논리오류가 많은데요..
님 코드를 보다보니까..
strSQL2 = "select Pass from login_test where Pass='"+F_Pass->Text +"'";
이부분에서..
사용자에게 입력받은 패쓰워드를 가지고 db에서 다시 패쓰워드를 찾나요?
뭔가 모순아닌가요..
보통 아이디를 가지고 db에서 패쓰를 찾아서..
그 db패쓰와 입력받은 인풋패쓰끼리 비교해야 맞지 않나요?
수고하세용.
배달민족 님이 쓰신 글 :
: 안녕하세요..
: C빌더 초보입니다.
: 이번에 C빌더를 이용해서 사용자 인증하는걸 시험삼아 구현하려는데요...
: 좀 막히네요...
: 부끄럽지만, 이제 겨우 DB에 있는 사용자와 Password를 찾아서 있는지 없는지를
: 알아내는것 까지는 되었는데요...
: 그사용자 ID의 Password가 아니어도, DB에 있으면 그냥 로그인 성공한걸로 되는데...
: 무슨 방법이 있을듯 한데...
: sql문에 대해 책을 찾아보아도 도무지 보이질 않네요...
: 코딩내용은 아래와 같습니다.
:
: =======================================================
: /// 사용자 & Passwd검색
: AnsiString strSQL1, strSQL2, strRST1, strRST2;
: Query1->Close();
: Query1->SQL->Clear();
: strSQL1 = "select Name from login_test where Name='"+F_ID->Text +"'";
: Query1->SQL->Add(strSQL1);
: Query1->Open();
: strRST1=Query1->Fields->Fields[0]->AsString;
: if(strRST1 == F_ID->Text )
: {
: Query1->Close();
: Query1->SQL->Clear();
: strSQL2 = "select Pass from login_test where Pass='"+F_Pass->Text +"'";
: Query1->SQL->Add(strSQL2);
: Query1->Open();
: strRST2=Query1->Fields->Fields[0]->AsString;
: if(strRST2 == F_Pass->Text)
: {
: ShowMessage("login 성공");
: } else if(strRST2!= F_Pass->Text) ShowMessage("Password가 다릅니다");
: }else if(strRST1!= F_ID->Text) ShowMessage("사용자ID가 다릅니다");
:
: ==========================================================
:
: 부디 방법을 알려주시면 감사하겠습니다.
: 이것때문에 며칠을 고생했는뎅..ㅡ.ㅡ;;;;
:
: 그럼 행복하세요~~
:
:
|