본문 바로가기

항해99

항해 1일차 TIL - Form에서 오는 데이터들의 타입은 무엇일까?

배운것을 자꾸 까먹기에 기록의 중요성은 알고는 있었다. 그렇지만 오늘 강민철님의 TIL세션을 듣고 어떻게 기록해야 될지에 대한 물음에 해답을 찾을 수 있었다. 적어도 TIL만에서는 What, try, how, so 를 지키며 간단하게 글을 작성하려 한다.

 

What : 어떤 문제가 있었는지

Try : 시도해본 것들

How : 어떻게 해결했는지

So : 그래서 뭘 알았는지

 

Form에서 오는 데이터들의 타입은 무엇일까?

 

WHAT

로그인 과정 중 비밀번호를 제대로 입력했음에도 불구하고 비밀번호가 일치하지 않는 현상

 

if login_member['passwd'] == passwd_receive:

 

TRY

두 변수의 타입 확인

print(type(login_member['passwd'])) #int
print(type(passwd_receive)) #string

 

HOW

다름을 확인하고 형변환 진행

if str(login_member['passwd']) == passwd_receive:

 

SO

HTML Form 태그 내 input에 들어가는 데이터들은 서버에 올 때 String 타입으로 오게 된다.

input의 타입이 int라도 서버로 전해져 올때는 String이 된다.

<div class="form-wrap">
                <div>
                    <label for="login-email">email</label>
                    <input type="text" id="login-email" placeholder="이메일을 입력하세요.">
                </div>
                <div>
                    <label for="login-pw">PW</label>
                    <input type="text" id="login-pw" placeholder="비밀번호를 입력하세요.">
                </div>
                
<-- 4행, 8행의 타입 확인 결과 -->
<class 'int'>
<class 'str'>