[PHP] 간단한 로그인 기능 구현
사용한 코드는 아래와 같다.
<?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
로그인 성공
로그인 실패