웹개발/PHP

[PHP] 간단한 로그인 기능 구현

본캐 2022. 10. 23. 04:25

 

 

사용한 코드는 아래와 같다.

<?php

$conn = mysqli_connect('localhost', 'admin', 'student', 'DB');

if(isset($_POST['id'])&&isset($_POST['pw'])) {

        $uid=$_POST['id'];
        $upw=$_POST['pw'];
        

        $q = "SELECT * FROM Login where login_id='$uid' && login_pw='$upw'";

        if($res = mysqli_fetch_array(mysqli_query($conn, $q))){

                header('Location:login_ok.php');

        } else{
                echo "<script>
                        alert('아이디 또는 비밀번호가 일치하지 않습니다..');
                        location.replace('main.php');
                      </script>";

        }
        mysqli_close($conn);
}

?>

 

 

 

 

 

설명

 

 

$conn = mysqli_connect('localhost', 'admin', 'student', 'DB');

 

mysqli_connect( ) -> mysqli 서버와 연결한다.

 

ex) $변수 = mysqli_connect(' 호스트주소 ', ' DB아이디 ', ' DB비밀번호 ', ' 데이터베이스 ');

 

 

if(isset($_POST['id'])&&isset($_POST['pw'])) {

 

isset( ) -> 괄호 안에 값이 있으면, 참을 반환한다. 

 

$_POST -> HTML의 form태그를 이용하여 사용하고, 정보가 URL에 노출되지 않으며,

 

비밀번호와 같이 중요한 정보를 서버에 보낼 때 사용한다.

 

ex) $_POST[ ' id ' ] -> 사용자가 입력한 정보를 ' id ' 변수에 담아 서버에 전송하는 방식

 

 

$q = "SELECT * FROM Login where login_id='$uid' && login_pw='$upw'";

 

사용자가 입력한 ' $uid ' , ' $upw ' 를 서버에 저장되있는 ' login_id ' ,  ' login_pw ' 와  대조하는 코드이다

 

 

if($res = mysqli_fetch_array(mysqli_query($conn, $q))){

                header('Location:login_ok.php');

        } else{
                echo "<script>
                        alert('아이디 또는 비밀번호가 일치하지 않습니다..');
                        location.replace('main.php');

 

mysqli_query( ) 함수로 $q 에 담긴 SQL구문을 실행하여  

 

mysqli_fetch_array( ) 함수로 $q가 실행한 정보를 배열 형태로 가져온다.

 

사용자가 입력한 정보와 일치한다면,  login_ok.php 로 이동 할것이고,

 

그렇지 않다면,  경고창이 뜨면서 처음 화면으로 돌아갈 것이다. 

 

mysqli_fetch_array( )  ->  데이터베이스의 정보를 배열형태로 가져오는 명령어이다.

 

mysqli_query(  ) -> SQL 구문을 실행하는 명령어이다.

 

 

 

자세한 사용법은 아래 링크에 아주 잘 나와있다.

 

[PHP] 📚 MySQL 연결 및 다루기 (mysqli 방식)

MySQLi 사용법 서버 연결 <?php $servername = "localhost"; $user = "choi"; $password = "0219"; $dbname = "testDB"; $connect = mysqli_connect($servername, $user, $password, $dbname); if (!$connect) {..

inpa.tistory.com

 

 

 

 

 

 

로그인 성공

 

 

 

 

 

로그인 실패