개발 꿀팁/PHP

PHP 간편 등록 로그인 상세 전체 코드

Jammie 2022. 6. 25. 14:32
반응형

예제 그림:

 

PHP실현 로그인 등록
index.php (첫 페이지)
login.php (로그인)
register.php (등록)
index.php
코드:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="vie등록 로그인wport" content="width=device-width, initial-scale=1">
<title>Zhe - </title>
<link rel="stylesheet" type="text/css" href="https://www.layuicdn.com/layui/css/layui.css" />
<script src="https://www.layuicdn.com/layui/layui.js" charset="utf-8"></script>
</head>
<body>
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
  <legend>Zhe - 로그인 데모</legend>
</fieldset>   
<div style="padding: 20px; background-color: #F2F2F2;">
  <div class="layui-row layui-col-space15">
    <div class="layui-col-md6">
      <div class="layui-card">
        <div class="layui-card-header">회원가입</div>
        <div class="layui-card-body">
			<form class="layui-form" action="register.php" method="post" onsubmit="return checkForm(this)" lay-filter="example">
			  <div class="layui-form-item">
			    <label class="layui-form-label">입력 상자</label>
			    <div class="layui-input-block">
			      <input type="text" name="username" placeholder="계좌번호를 입력해주세요" class="layui-input">
			    </div>
			  </div>
			  <div class="layui-form-item">
			    <label class="layui-form-label">암호 상자</label>
			    <div class="layui-input-block">
			      <input type="password" name="password" placeholder="비밀번호를 입력해 주세요." class="layui-input">
			    </div>
			  </div>			 
			  <div class="layui-form-item">
			    <div class="layui-input-block">
			      <input type="submit" class="layui-btn layui-btn-normal" value="즉시 등록"/>
			    </div>
			  </div>
			</form>
        </div>
      </div>
    </div>
    <div class="layui-col-md6">
      <div class="layui-card">
        <div class="layui-card-header">로그인</div>
        <div class="layui-card-body">
			<form class="layui-form" action="login.php" method="post" onsubmit="return checkForm(this)" lay-filter="example">
			  <div class="layui-form-item">
			    <label class="layui-form-label">입력 상자</label>
			    <div class="layui-input-block">
			      <input type="text" name="username" placeholder="계좌번호를 입력해주세요" class="layui-input">
			    </div>
			  </div>
			  <div class="layui-form-item">
			    <label class="layui-form-label">암호 상자</label>
			    <div class="layui-input-block">
			      <input type="password" name="password" placeholder="비밀번호를 입력해 주세요." class="layui-input">
			    </div>
			  </div>			 
			  <div class="layui-form-item">
			    <div class="layui-input-block">
				  <input type="submit" class="layui-btn layui-btn-normal" value="지금 로그인"/>
			    </div>
			  </div>
			</form>
        </div>
      </div>
    </div>
  </div>
</div>
<script type="text/javascript">
	// 입력이 비어 있지 않은 스크립트 코드 확인
	function checkForm(form) {
	if(form.username.value == "") {
	alert("사용자 이름은 비워 둘 수 없음!");
	form.username.focus();
	return false;
	}
	if(form.password.value == "") {
	alert("비밀번호는 비워둘 수 없습니다!");
	form.password.focus();
	return false;
	}
	return true;

login.php
코드:

<?php
	session_start();
	header("content-type:text/html;charset=utf-8");
	//데이터베이스 연결
	$link = mysqli_connect("localhost","pay_com_cn","pay_com_cn","pay_com_cn");
	if (!$link) {
		die("연결 실패: " . mysqli_connect_error());
	}
	//$_POST 사용자 이름과 암호 받기
	$username = $_POST['username'];
	$password = $_POST['password'];
	//테이블 user 사용자 이름과 비밀번호 및 전송 값이 동일한지 보기
	$sql = "SELECT * FROM user WHERE username = '$username' AND password = '$password'";
	//result필수 규정 사유 mysqli_query()、mysqli_store_result() 或 mysqli_use_result() 반환된 결과 집합 식별자
	$result = mysqli_query($link,$sql);
	$num = mysqli_num_rows($result);//함수는 결과 집합의 행 수를 반환합니다.
	//로그인 여부 판단 후 표시 또는 건너뛰기
	if($num){
		echo '로그인 성공';
	}else{
		echo'로그인을 실패하였습니다.';
	}
	mysqli_close($link);//데이터베이스 닫기
 ?>

register.php
코드:

<?php
	header("content-type:text/html;charset=utf-8");
	//데이터베이스 연결
	$link = mysqli_connect("localhost","pay_com_cn","pay_com_cn","pay_com_cn");
	if (!$link) {
		die("연결 실패: " . mysqli_connect_error());
	}
	//$_POST 사용자 이름과 암호 받기
	$username=$_POST['username'];
	$password=$_POST['password'];
	//테이블 user 사용자 이름이 있거나 비어 있는지 보기
	$sql_select = "SELECT * FROM user WHERE username = '$username'";
	//result필수 규정 사유 mysqli_query()、mysqli_store_result() 또는 mysqli_use_result() 반환된 결과 집합 식별자。
	$select = mysqli_query($link,$sql_select);
	$num = mysqli_num_rows($select);//함수는 결과 집합의 행 수를 반환합니다.
	if($username == "" || $password == "")
	{
		echo "메시지 무결성을 확인하세요";
	}else if($num){
		echo "존재하는 사용자 이름";//계정 이름 출력 오류 발생
	}else{
			$sql="insert into user(username,password) values('$username','$password')";
			$result=mysqli_query($link,$sql);
			//등록여부 판단 후 내용 표시
			if(!$result)
			{
				echo "등록이 실패!"."<br>";//출력 오류
				echo "<a href='index.php'>返回</a>";//첫 페이지에 하이퍼링크
			}
			else
			{
				echo "회원가입 성공!"."<br/>";//출력 성공
				echo "<a href='index.hphp'>즉시 로그인하다</a>";//첫 페이지에 하이퍼링크
			}
		}
	
?>

 

반응형