php 간단한 로그인 구현하기

php 간단한 로그인 구현하기

안녕하세요.

오늘은 php로 간단한 로그인을 만들어보려고 합니다.

css없이 데이터베이스와 input,form 태그를 이용해서 만들어보겠습니다.

아래 글을 보고오시면 더 좋을겁니다.

  • 1. 데이터베이스[mysql]
  • 2. 로그인 폼 형태 만들기
  • 3. 로그인해보기

데이터베이스 설치[WAMP]

[프로그래밍/웹사이트] - 비트나미(WAMP) 설치

클라이언트가 서버에 요청하는 방법

[프로그래밍/웹사이트] - Get, Post방식의 차이점

1. 데이터베이스 생성.

먼저 웹사이트에서 사용할 데이터베이스를 만들어주겠습니다.

아래 링크로 가서 데이터베이스를 생성하시고 원하는 요소를 입력해서 테이블도 생성해주세요.

[프로그래밍/웹사이트] - MySQL실행, 데이터베이스(database)생성

저는 테이블을 이렇게 만들어서 admin이라는 아이디를 하나 넣어줬습니다.

create table `blogin`(
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `login_id` varchar(20) NOT NULL,
  `login_pw` varchar(20) NOT NULL,
  `created` datetime NOT NULL,
  PRIMARY KEY(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

 INSERT INTO `blogin` values (0,'admin','0000',now());

성공적으로 들어갔네요.

로그인 폼 만들기

이제 html로 로그인 폼을 만들어보겠습니다.

폼은 get방식은 입력하고 submit을 하면 주소창에 보이므로 post방식으로 사용하겠습니다.

<!DOCTYPE html>
<html lang="kr">
  <head>
    <meta charset="utf-8">
    <title>php로그인</title>
  </head>
  <body>
    <form  method="post">
      로그인</br>
      아이디 : <input type="text" name="uid" /></br>
      비밀번호 : <input type="password" name="pwd" /></br>
      <input type="submit" value="POST방식으로 전송" />
    </form>
  </body>
</html>

이렇게 php를 입력하고 크롬으로 들어가보겠습니다.

아래 사진처럼 아이디와 비밀번호를 입력할 수 있는 텍스트 박스 두개와 버튼이 생기게 됩니다.

아직 아이디와 비밀번호를 입력해도 뭐가 되는 것 처럼 보이지는 않을 겁니다.

이 php문을 추가해줍니다.

주석을 추가했으니 여기에서는 자세한 설명은 하지 않겠습니다.

데이터베이스에 있는 정보와 현재 입력된 정보를 비교해서 맞다면 로그인 성공이라는 문자를 출력하고 정보와 다르면 login fail이라는 문자를 출력하는 것 입니다.

<?php
      //<!--php부분 form에 입력한 내용을 데이터베이스와 비교해서 로그인 여부를 알려준다.-->
      if(isset($_POST['uid'])&&isset($_POST['pwd'])){//post방식으로 데이터가 보내졌는지?
        $username=$_POST['uid'];//post방식으로 보낸 데이터를 username이라는 변수에 넣는다.
        $userpw=$_POST['pwd'];//post방식으로 보낸 데이터를 userpw라는 변수에 넣는다.
        //mysql root계정으로 접속.
        //비밀번호는 123456이다.
        //study라는 데이터베이스에 접근.
        $conn= mysqli_connect('localhost', 'root', '123456', 'study');
        //sql문을 sql변수에 저장해놓는다.
        $sql="SELECT * FROM blogin where login_id='$username'&&login_pw='$userpw'";
        if($result=mysqli_fetch_array(mysqli_query($conn,$sql))){//쿼리문을 실행해서 결과가 있으면 로그인 성공
          echo "사용자 이름= $username";
          echo "</br>".$result['created'];
          echo "</br>로그인 성공";
        }
        else{//쿼리문의 결과가 없으면 로그인 fail을 출력한다.
          echo "login fail";
        }
      }
    ?>

저는 이렇게 추가해줬습니다.

로그인 해보기.

아이디와 비밀번호를 admin, 0000을 입력하면 이렇게 로그인 성공이라는 문자가 echo문에 의해 출력됩니다.

(insert문을 수정하면 아이디와 비밀번호 변경가능.)

데이터베이스에 없는 문자를 출력하면 성공적으로 login fail이라는 문자가 출력됩니다.

그냥 간단하게 구현해봤습니다.

Designed by JB FACTORY