반응형
IT관련 티스토리에는 누구나 다 있다는
로그인관련 페이지 제작글을 나도 올려볼까한다
디자인은 따로 하지 않겠다
부트스트랩이나 구글링으로 반응형 웹등 좋은 오픈소스가 많다
Login.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
|
<!doctype html>
<html>
<head>
<meta charset="euc-kr">
<title>얼빵이의 노트</title>
</head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1">
<body>
<?php
#쿠키에서 로그인정보 불러오기#
if (isset($_COOKIE['userId'])){
$userId = $_COOKIE['userId'];
$idSaveCheck = "checked";
}
?>
<div>
<form name="LoginForm" method="post" action="">
<input type="text" name="userId" placeholder="ID" value="<?=$userId?>">
<input type="password" name="userPw" placeholder="Password">
<div><input type="checkbox" name="idSaveCheck" <?=$idSaveCheck?>><font color="gray">ID 저장하기</font></div>
<input type="button" value="로그인" onclick="LoginCheck();">
</form>
</div>
<!--로그인 폼 유효성 체크 부분--> <script>
function LoginCheck(){
var F = document.LoginForm;
if (F.userId.value==""){
alert("ID를 입력해주세요");
F.userId.focus();
return false;
}
if (F.userPw.value==""){
alert("PassWord를 입력해주세요");
F.userPw.focus();
return false;
}
F.action="LoginCheck.php";
F.submit();
}
</script>
</body>
</html>
|
cs |
메인 로그인 페이지다
쿠키를 불러오는 부분과 로그인폼 유효성 검사부분만 보면 되겠다
isset($_COOKIE['userId'])
쿠키를 호출했을경우 해당 쿠키가 있으면 해당 값을 $userId 변수에 담고 $idSaveCheck 변수에 checked를 담아
저장된 ID정보를 자동으로 입력하고 ID저장하기 부분을 체크하게 된다
function LoginCheck()
로그인 폼 체크하는 부분이다
폼의 ID, PW가 공백일시 false를 반환하고 해당칸으로 포커스를 잡아준다
LoginCheck.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
|
<?php
session_start();
$userId = trim($_POST['userId']);
$userPw= trim($_POST['userPw']);
$idSaveCheck = trim($_POST['idSaveCheck']);
$mysqli = mysqli_connect("127.0.0.1","DB_ID","DB_PW","DB_SID","Port");
if ($mysqli->connect_errno) {
die('Connect Error: '.$mysqli->connect_error);
}
if ($result = $mysqli->query("select * from LoginInfo where id='".$userId."' and password='".$userPw."'")){
while ($row = $result->fetch_object()) {
$Exist = "1";
}
}
if ($Exist ==""){
echo "<script>alert('로그인 정보가 다릅니다'); history.back();</script>";
session_destroy();
exit;
}
if ($idSaveCheck =="on"){
setcookie('userId',$userId,time()+(86400*30),'/');
}else{
setcookie('userId',$userId,time()-(86400*30),'/');
unset($_COOKIE['userId']);
}
$_SESSION['userId'] = $userId;
?>
<meta http-equiv='refresh' content='0;url=../LoginSuccess.php'>
|
cs |
로그인 정보 체크하는 페이지이다
Mysql DB에서 정보를 가져와 체크하는 부분이다
mysqli_connect 부분에는 자신의 DB정보를 입력하고 쿼리를 수정해주면되고
DB를 사용하지 않는다면 $Exist를 결정하는 조건절을 다른 조건으로 변경해주면된다
넘겨받은 $idSaveCheck 체크박스의 값이 ON일경우 쿠키를 생성하는데 86400초 * 30일간 쿠키를 유지하게 된다
체크박스의 값이 ON이 아닐경우는 +가 -로 변경되어있는데 쿠키를 삭제하게된다
로그인에 성공하면 Session에 ID값을 넣어 세션을 유지하게되며
다음 페이지로 리다이렉트 되게된다
이로써 간단하게 로그인페이지 생성 방법에대해 알아보았다
궁금하신 부분은 댓글남겨주세요
반응형
'WEB > Etc' 카테고리의 다른 글
[vue.js] <li> v-for 에러 (0) | 2021.11.01 |
---|---|
[PHP] PHP7 mcrypt_encrypt, openssl_encrypt (0) | 2020.10.22 |
[PHP] CURL 홈페이지 파싱, 멀티 (0) | 2020.09.29 |
댓글