PHP + MySQL 게시판 제작 - 회원가입

2026. 2. 16. 15:22·모의해킹

디자인은 전혀 신경쓰지 않은 게시판 만들기!

디자인보단 모의해킹을 하기 위한 게시판 '기능'만 만들고싶었기 때문에...

한 눈에 들어오지 않는 건 이해해주세용

결과물

우선 테이블을 먼저 만들어야하기때문에

CREATE TABLE user (
name CHAR(20) NOT NULL,
ID CHAR(20) PRIMARY KEY,
pass CHAR(20) NOT NULL
);

SQL에서 테이블 먼저 생성해주고

회원가입을 위한 폼 먼저 만들어줬당

 

[ lib.php ] -> 자주 쓸거라 그냥 include 해주려고 따로 빼놨어용

<?php
	session_start();
	$conn = mysqli_connect('localhost', 'root', '@@@@', 'bbs') 
	or die("MySQL 연결 실패:".mysqli_connect_error());
?>

 

[ register.php ]

<?php
include 'lib.php';
?>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
	<title>회원가입</title>
	</head>
	<body>
		<h1>회원가입</h1>
		<form method="post" action=" ">
			<p>닉네임: <input type="text" name="name" placeholder="닉네임을 입력하세요"></p>
			<p>아이디: <input type="text" name="id" placeholder="아이디를 입력하세요"></p>
			<p>비밀번호: <input type="password" name="pw" placeholder="비밀번호를 입력하세요"></p>
			<p>비밀번호 확인: <input type="password" name="pw2" placeholder="비밀번호를 재입력하세요"></p>
			<p><font color="red">비밀번호는 4자리 이상 설정해주세요</font></p>
			<p><input type="submit" value="회원가입">
			<button type="button" onclick="location.href='login.php'">로그인</button></p>
		
		<?php
			if ($_SERVER["REQUEST_METHOD"] == "POST") {
				$id = $_POST['id'];
				$pw = $_POST['pw'];
				$name = $_POST['name'];
				$pw2 = $_POST['pw2'];
				$check = "SELECT * FROM user WHERE id = '$id'";
				$idresult = mysqli_query($conn, $check);
				$namecheck = "SELECT * FROM user WHERE name = '$name'";
				$nameresult = mysqli_query($conn, $namecheck);
				
			if (empty($id) || empty($pw) || empty($pw2) || empty($name)) {
				echo "<script>alert('입력되지 않은 칸이 있습니다'); history.back();</script>";
				exit;
			}
			
			elseif (mysqli_num_rows($nameresult) > 0) {
				echo "<script> alert('이미 존재하는 닉네임입니다'); history.back();</script>";
			}
			
			elseif (mysqli_num_rows($idresult) > 0) {
				echo "<script> alert('이미 존재하는 아이디입니다'); history.back();</script>";
			}
			
			elseif ( strlen($pw) < 4 ) {
				echo "<script> alert('비밀번호를 4자리 이상 설정해주세요'); history.back();</script>";
			}
			
			elseif ($pw !== $pw2) {
				echo "<script>alert('비밀번호가 일치하지 않습니다'); history.back();</script>";
				exit;
			}
			
			else {
			$register = "INSERT INTO user (ID, name, pass) VALUES ('$id', '$name', '$pw')";
			$result = mysqli_query($conn, $register);
			
			echo "<script>alert('회원가입이 완료되었습니다!'); location.href='login.php';</script>";
			
			}
			}
		?>
		</form>
	</body>
</html>

 

HTML 화면에서 입력되지 않은 칸이 있는지랑 비밀번호 길이도 검증하고 DB로 보내버리기!

 

모의해킹 공부를 위한 게시판이라서

애초에 sqli 대비는 하지않은,, 보안에 매우매우 취약한 회원가입 창 되겠습니다

 

 

'모의해킹' 카테고리의 다른 글

PHP + MySQL 게시판 제작 - 게시판 리스트  (0) 2026.02.16
PHP + MySQL 게시판 제작 - 로그인 & 로그아웃  (0) 2026.02.16
SQL Injection (Get/Search)  (0) 2025.07.04
XSS - reflected (GET)  (1) 2025.06.15
bwapp 설치하기  (0) 2025.05.17
'모의해킹' 카테고리의 다른 글
  • PHP + MySQL 게시판 제작 - 게시판 리스트
  • PHP + MySQL 게시판 제작 - 로그인 & 로그아웃
  • SQL Injection (Get/Search)
  • XSS - reflected (GET)
songtoy
songtoy
  • songtoy
    ㅎㅇ
    songtoy
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 모의해킹
  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
songtoy
PHP + MySQL 게시판 제작 - 회원가입
상단으로

티스토리툴바