< 잘못 설명된 부분에 대한 댓글을 남겨주시면, 정말 감사하겠습니다. >
[Project1]로그인 구현하기
이전에 bitnami나, apm 다운 받아 주시는 거 아시죠^^,
웹사이트의 로그인을 구현해 보겠습니다.
mission : 1. 로그인을 하기위한 창을 만들어라.
2. 회원가입을 하기위한 html창을 만들어라.
3. 회원가입한것을 sql로 넘겨줄 php창을 만들어라.
4. sql로 받은 데이터를 이용해 로그인 할 수 있도록 처리 하는 php창을 만들어라.
5. 로그인의 성공유무에 따라 달리 표시해주는 창을 만들어라.
( *session을 유지시켜주기 위한 창도..^^)
먼저, session에 대한 개념에 대해 설명 드리고 시작 하겠습니다.
session이란, (다음 백과사전에 나와있는것을 복붙 했습니다.)
시분할처리 시스템 등의 대화처리에 있어서, 이용자가 단말장치를 사용개시하고부터 종료하기까지의 사이. 세션의 개시는 로그온(logon) 또는 로그인(login)의 명령으로서, 종료는 로그오프(logoff) 또는 로그아웃(logout)의 명령으로 실시한다. 로그온에 임해서는, 이용자의 확인을 위해서, 이미 등록되어 있는 이용자명, 암호 등을 매개변수로서 넣고 세션을 개시한다. 〈참조어〉 로그오프, 로그온
라고 설명되어있지만, 한마디로 로그인 하고 로그아웃 하기 전까지, 로그인 상태를 유지 하는 것을 말합니다.
그래서 session을 유지시켜주기 위한 창 먼저 하나 만들어 주겠습니다.
session.php
1 2 3 4 | <?php session_cache_limiter("private_no_expire"); session_start(); ?> | cs |
session_cache_limiter("private_no_expire"); -> 현재 폼 값을 유지 시켜주는 역할을 한다. ( 이것 없이 했더니 오류가 나서 , 추가하게 됨...)
본격적으로 , 1번 부터 시작 하겠습니다.
1. 로그인을 하기위한 창을 만들어라.
먼저 빨갛게 테두리 친 부분을 봐주세요 ~^^ 이외의 부분은 레이아웃이므로, 원하는 레이아웃을 사용하시면 됩니다.^^
index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | <!doctype html> <html> <head> <meta charset="utf-8"> <title>DB</title> <style> a:link { color: black; background-color: transparent; text-decoration: none; } a:visited { color: gray; background-color: transparent; text-decoration: none; } a:hover { color: gray; background-color: transparent; text-decoration: underline; } a:active { color: black; background-color: transparent; text-decoration: underline; } #jb-container { width: 940px; height: 450px; margin: 0px ; padding: 20px; border: 1px solid #bcbcbc; } #jb-header { padding: 20px; margin-bottom: 20px; border: 1px solid #bcbcbc; } #jb-sidebar-left { width: 650px; height: 170px; padding: 20px; margin-right: 20px; margin-bottom: 20px; float: left; border: 1px solid #bcbcbc; } #jb-content { width: 450px; padding: 20px; margin-bottom: 20px; float: left; border: 1px solid #bcbcbc; } #jb-sidebar-right { width: 160px; padding: 20px; margin-bottom: 20px; float: right; border: 1px solid #bcbcbc; } #jb-footer { clear: both; padding: 20px; border: 1px solid #bcbcbc; } </style> </head> <body> <div id="jb-container"> <div id="jb-header"> <h1>DB</h1> </div> <div id="jb-sidebar-left"> <h2>Welcome~!</h2> <ul> login please... </ul> </div>
</div> </body> </html> | cs |
먼저 <h2>내용</h2> 의 의미는 별로 없습니다. 그냥 내용이라는 글자를 얼마만큼 크게 강조해 줄것이냐 입니다.
숫자가 작아질수록 더 커진다는 것만 알아주세요.
예를 들어 <h1>내용1</h1>
<h2>내용2</h2>를 했을경우
이렇게 나탑니다. 내용1 내용2
다음 <form method="post" action="login.php" > 이부분은, 좀 자세히 봐줘야 할 필요가 있습니다.!!
form은 입력을 받는 방식으로 입력받은 값을 처리하기 위해 좋습니다.
form method="방식(post, get)" action="입력받을 값을 어떻게 처리 할 지에 대한 코딩을 해놓은 곳" 이렇게 사용 됩니다.
post방식과 get방식에 있어서 가장 큰 차이점은, post방식으로 입력받게 되면, url(주소창)에 입력받은 값에 대한 정보가 뜨지 않습니다.
반대로, get방식으로 입력받게 되면, url(주소창)에 그대로 입력받은 값들이 뜨게 됩니다.
따라서, 로그인을 만들때에는, get보단, post방식이 좋습니다.
더 자세히 비교하자면,
Post
- Form 태그에서 action을 통해 데이터를 전송
- post 방식은 파일의 형태로 전송됨으로 url상에 나타나지 않아 보안성이 있음
- id나 password같은 중요한 정보를 전송할 때 사용
- url상에 나타나지 않기 때문에 get방식에 비해 대용량의 데이터를 전송할 수 있음
Get
- post와 같이 Form태그를 사용해서 전송하거나 주소창에 직접 입력해도 전송이 가능
- 하지만 Form 태그에서의 get방식은 서버로 전송 시 서버의 처리가 지연될 경우, 중복해서 요청이 이루어지는 문제가 있음으로 사용하지 않음
- get방식은 전송 할 데이터를 문자열 형태로 url뒤에 인수로 붙여서 전송하므로 누구나 전송 내용을 볼 수 있기때문에 보안성이 없음
- url뒤에 문자열 형태로 첨부되기 때문에 길이가 제한됨 : 전송 할 데이터의 용량이 작은 경우에 사용
다음 ID : <input type="text" name="id" /><br />
'웹(php) > 웹(login)_php' 카테고리의 다른 글
[Project1]로그인 구현하기 _최종(파일첨부) (0) | 2016.11.08 |
---|---|
[Project1]로그인 구현하기 (php, mysql, html)_ 로그인(login.php) (0) | 2016.11.08 |
[Project1]로그인 구현하기 (php, mysql, html)_ 회원가입 sql (sql, membersave.php) (0) | 2016.11.08 |
[Project1]로그인 구현하기 (php, mysql, html)_ 회원가입화면 (join.php) (0) | 2016.11.08 |