반응형
개발하던 웹개발 프로젝트에서 로그인시 DB에서 아이디와 패스워드가 존재하는지 확인하고
존재하면 세션을 생성하고 메인화면으로 이동시키는 부분에 대한 코드 ( login.php)를 설명을 하겠습니다
코드 원본 을 보여드리기에 앞서 로직부터 설명 하겠습니다.
웹사이트 만들기 (세션발급 ,처리 ) 부분 시작합니다 !!
우선 로그인 처리이전에 로그인 폼이 있겠죠? 로그인 폼에서 일단 값이 넘어왔다고 가정하고
$_POST를 이용해 id 와 pw를 받아 변수 $id와 $pw에 저장합니다.
그리고 db에 접속해 가입자들의 정보가 담겨있는 members 테이블에서 입력받은 id에 해당하는 정보를 셀렉합니다.
그후 셀렉한 쿼리정보를 조건문을 돌립니다
1. 만약 입력받은 정보가 없으면 등록된 아이디가 아닐테니 알림을 뛰우고 다시 이전페이지로 이동 !
2. 존재할경우 이번에는 pw를 검사합니다
3.이 두과정을 모두거쳤으면 session_start(); 를 하신후 입력받은 데이터로 뽑아낸 쿼리정보(유저정보)로 세션을 발급 받아 발급된 세션을 이용해 로그인 이후 뿌려줄 정보들을 추출하면 끝입니다 !
<?php
header('Content-Type: text/html; charset=UTF-8');
$id = $_POST["id"];
$pw = $_POST["pw"];
$con = mysqli_connect("localhost", "개인정보숨김", "개인정보숨김", "개인정보숨김");
$sql = "select * from members where id='$id'";
$result = mysqli_query($con, $sql);
$num_match = mysqli_num_rows($result);
if(!$num_match){
echo("
<script>
window.alert('등록되지 않은 아이디입니다!')
history.go(-1)
</script>
");
}else{
$row = mysqli_fetch_array($result);
$db_pw = $row["pw"];
mysqli_close($con);
if($pw != $db_pw){
echo("
<script>
window.alert('비밀번호가 다릅니다!')
history.go(-1)
</script>
");
exit;
}else{
session_start();
$_SESSION["id"] = $row["id"];
$_SESSION["uname"] = $row["name"];
echo("
<script>
location.href = 'main.php';
</script>
");
}
}
?>
긴글 읽어주셔서 감사합니다 ^^ 저도 아직 학부생이라 코드나 설명이 아직 미숙합니다 ~ 양해부탁해요
반응형
'기타 > it' 카테고리의 다른 글
C언어 독학 ! , 변수란 무엇인가? (0) | 2020.09.06 |
---|---|
C언어, c++,java 데이터타입에 대해 알아보자 (0) | 2020.09.05 |
아이폰 12 성능, 가격, 출시일에 대해 알아봅시다 (0) | 2020.07.27 |
아이폰 sim 없음,sim오류, usim 확실한 해결방법 (0) | 2020.02.03 |
아이폰 SE2 출시일 디자인 공개,색상,렌더링, 성능 (0) | 2020.01.25 |