< MySQL DB 연동 >
< 데이터베이스, 테이블 생성 >
MySQL과 php를 연동하기 위해서는 MySQL에 사용할 데이터베이스와 테이블이 있어야 한다.
나는 create database mydb; -> use mydb; 라는 명령어를 이용하여 'mydb'라는 데이터베이스를 만들고
create table member(~); 라는 명령어를 이용하여 위와 같이 'member'라는 테이블을 생성했다.
desc member;라는 명령어로 'member'라는 테이블 안에 있는 모든 데이터가 위와 같이 생성된 것을 확인할 수 있다.
로그인과 회원가입 기능을 사용하기 위해 insert into ~ 명령어를 이용하여 미리 위와 같은 값을 임의로 생성했다.
select *from member;라는 명령어로 현재 필드에 위와 같은 값들이 저장되어 있는 것을 확인할 수 있다.
< 로그인 >
1. MySQL 연결
-> $con=mysqli_connect("localhost","root","비밀번호","mydb") or die("error");
-> 이때 비밀번호는 프로그램을 처음 설치할때 설정했던 비밀번호를 입력하면 된다.)
2. input으로 입력 받은 id, pw 값 받기
-> $id=$_POST['id']; $pw=$_POST['pw'];
-> login.html에서 입력받은 아이디와 비밀번호 값을 POST방식으로 받아왔다.
3. select 쿼리문
-> $query="select *from member where id='$id'";
-> 'member'라는 테이블에 입력받은 아이디가 존재하는지를 확인하기 위해 위와 같은 명령어를 'query'라는 변수에 저장한다.
4. 쿼리 결과 비교
-> 조건문 if($count>0)이라는 것은 현재 필드에 해당 아이디가 존재한다는 의미이다.
-> mysqli_fetch_assoc() 함수는 mysqli_query를 통해 얻은 result값에서 레코드를 1개씩 리턴해주는 함수이다.
-> $row=mysqli_fetch_assoc($result);아이디가 존재하는 경우 비밀번호가 일치하는지 확인한다.
-> 비밀번호가 맞다면 세션 생성 후 index.php로 이동, 비밀번호가 다르다면 "비밀번호가 일치하지 않습니다"라는 문구 출력
-> if($count>0)이 아니라면 필드에 존재하는 아이디 없다는 의미, "입력하신 아이디를 찾을 수 없습니다"라는 문구 출력
5. MySQL 연결 해제
-> mysqli_close($con);
1) 아이디가 존재하지 않는 경우
현재 필드에는 'cc'라는 아이디가 존재하지 않는다.
위와 같이 입력한 후 로그인 버튼을 누르면 결과는 다음과 같다.
위와 같이 존재하지 않는 아이디로 로그인을 시도했을 경우에는 '입력하신 아이디를 찾을 수 없습니다.'
라는 에러 문구가 나오는 것을 확인할 수 있다.
2) 비밀번호가 일치하지 않는 경우
현재 필드에 'jihyun'이라는 아이디로 저장된 비밀번호는 '1234'이다.
위와 같이 비밀번호를 다르게 입력한 후 로그인 버튼을 누르면 결과는 다음과 같다.
위와 같이 해당 아이디의 비밀번호와 일치하지 않는 경우, 즉 아이디는 존재하나 비밀번호가 다른 경우로 로그인을 시도하는 경우에는 '비밀번호가 일치하지 않습니다.'라는 에러 문구가 나오는 것을 확인할 수 있다.
3) 아이디와 비밀번호가 모두 일치하는 경우
현재 필드에 'def'라는 아이디가 존재하고 이 아이디의 비밀번호는 '2222'이다.
위와 같이 입력한 후 로그인 버튼을 누른 결과는 다음과 같다.
위와 같이 아이디와 비밀번호가 모두 일치하도록 로그인을 한다면 index.php 파일로 넘어가는 것을 확인할 수 있고
'로그인 되었습니다'라는 문구와 함께 필드에 저장된 name, id, pw 값이 잘 출력되는 것을 확인할 수 있다.
< 회원가입 >
1. MySQL 연결
-> $con=mysqli_connect("localhost","root","비밀번호","mydb") or die("error");
-> 이때 비밀번호는 프로그램을 처음 설치할때 설정했던 비밀번호를 입력하면 된다.)
2. input으로 입력 받은 id, pw 값 받기
-> $id=$_POST['id']; $pw=$_POST['pw']; $name=$_POST[name]; $email=$_POST[email];
-> signup.html에서 입력받은 아이디, 비밀번호, 이름, 이메일 값을 POST방식으로 받아왔다.
3. select 쿼리문
-> $query="select *from member where id='$id'";
-> 'member'라는 테이블에 입력받은 아이디가 존재하는지를 확인하기 위해 위와 같은 명령어를 'query'라는 변수에 저장한다.
4. 쿼리 결과 비교
-> 조건문 if($count>0)이라는 것은 현재 필드에 해당 아이디가 존재한다는 의미로 "회원가입 실패"라는 문구 출력
-> 조건문 if($count>0)이 아닐 경우 현재 필드에 존재하는 아이디 없다는 의미
-> 회원가입 페이지에 있는 모든 정보들을 입력했는지 안했는지 확인
-> if($id==""||$pw==""||$name==""||$email=="") 만약 하나라도 입력하지 않은 정보가 있다면 "빈칸 없이 작성해주세요"문구 출력
-> 현재 필드에 중복되는 아이디가 아니며 빈칸 없이 모두 입력했을 경우 입력한 정보를 확인시켜 주는 메세지 출력
5. MySQL 연결 해제
-> mysqli_close($con);
1) 중복된 아이디가 존재하는 경우
현재 필드에는 'jihyun'이라는 아이디가 존재한다.
회원가입 페이지에서 위와 같이 중복된 아이디를 입력한 후 가입하기 버튼을 누르면 결과는 다음과 같다.
위와 같이 중복된 아이디로 회원가입을 시도할 경우 '회원가입 실패'라는 에러 메세지가 뜨는 것을 확인할 수 있다.
2) 하나라도 입력하지 않은 정보가 있는 경우
회원가입 페이지에서 이메일에 아무것도 적지 않은 채로 가입하기 버튼을 누른 결과는 다음과 같다.
회원가입 시 하나라도 입력하지 않은 정보가 있을 경우에는 위와 같이 '빈칸 없이 작성해주세요'라는
에러 메세지가 뜨는 것을 확인할 수 있다.
3) 회원가입이 완료된 경우
현재 필드에는 'swu'라는 아이디가 존재하지 않으며 위의 경우에는 빠짐 없이 모든 정보들을 입력한 상태이다.
회원가입 페이지에 위와 같이 입력한 후 가입하기 버튼을 누른 결과는 다음과 같다.
중복된 아이디가 존재하지 않으며 모든 정보를 입력한 경우에는 위와 같이 회원가입이 잘 된 것을 확인할 수 있고
입력한 정보를 확인시켜 주는 메세지가 뜨는 것을 확인할 수 있다.
또한 cmd 창에서 select *from member;라는 명령어를 통해 필드에 있는 모든 정보들을 출력해보면
위에서 회원가입에 성공했던 정보들이 잘 저장된 것을 확인할 수 있다.
'2020-2 STUDY > Web Study' 카테고리의 다른 글
Web Study week 2 - 3 (0) | 2020.09.23 |
---|---|
Web Study week 2 - 2 (0) | 2020.09.23 |
Web Study week 1 (0) | 2020.09.16 |