ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 회원 관리 시스템
    데이터베이스/SQL 2023. 12. 29. 16:13
    • 초기 화면(main.html)
    <HTML>
    <HEAD>
    <META http-equiv="content-type" content="text/html; charset=utf-8">
    </HEAD>
    <BODY>
    
    <h1> 회원 관리 시스템</h1>
    
    <a href="select.php"> (1) 회원 조회 (조회 후 수정/삭제 가능) </a> <br><br>
    <a href="insert.php"> (2) 신규 회원 등록 </a> <br><br>
    <FORM METHOD="get" ACTION="update.php">
        (3) 회원 수정 - 회원 아이디 : <INPUT TYPE="text" NAME="userID">
        <INPUT TYPE="submit" VALUE="수정">
    </FORM>
    <FORM METHOD="get" ACTION="delete.php">
        (4) 회원 삭제 - 회원 아이디 : <INPUT TYPE="text" NAME="userID">
        <INPUT TYPE="submit" VALUE="삭제">
    </FORM>
    
    </BODY>
    </HTML>

    메인을 보면 연결된 php는 4개

     

    • 회원 조회 화면(select.php)
    <?php
        $con=mysqli_connect("localhost", "root", "1234", "sqlDB") or die("MariaDB 접속 실패");
    
        $sql ="SELECT * FROM userTBL";
    
        $ret = mysqli_query($con, $sql);
        if($ret) {
            $count = mysqli_num_rows($ret);
        }
        else {
            echo "userTBL 데이터 조회 실패"."<br>";
            echo "실패 원인 : ".mysqli_error($con);
            exit();
        }
    
        echo "<h1> 회원 조회 결과 </h1>";
        echo "<TABLE border=1>";
        echo "<TR>";
        echo "<TH>아이디</TH><TH>이름</TH><TH>출생연도</TH><TH>지역</TH><TH>국번</TH>";
        echo "<TH>전화번호</TH><TH>키</TH><TH>가입일</TH><TH>수정</TH><TH>삭제</TH>";
        echo "</TR>";
        while($row = mysqli_fetch_array($ret)) {
            echo "<TR>";
            echo "<TD>", $row['userID'], "</TD>";
            echo "<TD>", $row['name'], "</TD>";
            echo "<TD>", $row['birthYear'], "</TD>";
            echo "<TD>", $row['addr'], "</TD>";
            echo "<TD>", $row['mobile1'], "</TD>";
            echo "<TD>", $row['mobile2'], "</TD>";
            echo "<TD>", $row['height'], "</TD>";
            echo "<TD>", $row['mDate'], "</TD>";
            echo "<TD>", "<a href='update.php?userID=", $row['userID'], "'>수정</a></TD>";
            echo "<TD>", "<a href='delete.php?userID=", $row['userID'], "'>삭제</a></TD>";
            echo "</TR>";
        }
    
        mysqli_close($con);
        echo "</TABLE>";
        echo "<br> <a href='main.html'> <-- 초기 화면</a> ";
    ?>

    위 메인에서 (1) 회원 조회를 누르면 select.php로 이동, 초기 화면 버튼을 누르면 main.html로 다시 이동

     

    • 신규 회원 등록(insert.php)
    <HTML>
    <HEAD>
    <META http-equiv="content-type" content="text/html"; charset="utf-8">
    </HEAD>
    <BODY>
    
    <h1> 신규 회원 입력 </h1>
    <FORM METHOD="post" ACTION="insert_result.php">
        아이디: <INPUT TYPE="text" NAME="userID"> <br>
        이름: <INPUT TYPE="text" NAME="name"> <br>
        출생연도: <INPUT TYPE="text" NAME="birthYear"> <br>
        지역: <INPUT TYPE="text" NAME="addr"> <br>
        휴대폰 국번: <INPUT TYPE="text" NAME="mobile1"> <br>
        휴대폰 전화번호: <INPUT TYPE="text" NAME="mobile2"> <br>
        신장: <INPUT TYPE="text" NAME="height"><br>
        <BR><BR>
        <INPUT TYPE="submit" VALUE="회원 입력">
    </FORM>
    
    </BODY>
    </HTML>

    html 형식으로 적은 파일의 확장자를 php로 저장해도 문제 없이 실행

    회원 입력 버튼을 누르면 insert_result.php에 전달됨

    • 신규 회원 입력 결과(insert_result.php)
    <?php
        $con=mysqli_connect("localhost", "root", "1234", "sqlDB") or die("MariaDB 접속 실패");
    
        $userID = $_POST["userID"];
        $name = $_POST["name"];
        $birthYear = $_POST["birthYear"];
        $addr = $_POST["addr"];
        $mobile1 = $_POST["mobile1"];
        $mobile2 = $_POST["mobile2"];
        $height = $_POST["height"];
        $mDate = date("Y-m-j");
    
        $sql =" INSERT INTO userTBL VALUES('".$userID."','".$name."',".$birthYear;
        $sql = $sql.",'".$addr."','".$mobile1."','".$mobile2."',".$height.",'".$mDate."')";
    
        $ret = mysqli_query($con, $sql);
    
         echo "<h1> 신규 회원 입력 결과 </h1>";
        if($ret) {
            echo "데이터가 성공적으로 입력됨";
        }
        else {
            echo "데이터 입력 실패"."<br>";
            echo "실패 원인 : ".mysqli_error($con);
        }
        mysqli_close($con);
    
        echo "<br> <a href='main.html'> <-- 초기 화면</a> ";
    ?>

    데이터를 입력해야 성공으로 뜸

     

    에러 생기는 경우

    아무것도 입력하지 않은 경우
    단독으로 실행시켰을 경우 에러

     

    • 회원 정보 수정(update.php)
    <?php
        $con=mysqli_connect("localhost", "root", "1234", "sqlDB") or die("MariaDB 접속 실패");
        $sql ="SELECT * FROM userTBL WHERE userID='".$_GET['userID']."'";
    
        $ret = mysqli_query($con, $sql);
        if($ret) {
           $count = mysqli_num_rows($ret);
           if ($count==0) {
              echo $_GET['userID']." 아이디의 회원이 없음"."<br>";
              echo "<br> <a href='main.html'> <-- 초기 화면</a> ";
              exit();
           }
        }
        else {
            echo "데이터 조회 실패"."<br>";
            echo "실패 원인 : ".mysqli_error($con);
            echo "<br> <a href='main.html'> <-- 초기 화면</a> ";
            exit();
        }
        $row = mysqli_fetch_array($ret);
        $userID = $row['userID'];
        $name = $row["name"];
        $birthYear = $row["birthYear"];
        $addr = $row["addr"];
        $mobile1 = $row["mobile1"];
        $mobile2 = $row["mobile2"];
        $height = $row["height"];
        $mDate = $row["mDate"];
    ?>
    
    <HTML>
    <HEAD>
    <META http-equiv="content-type" content="text/html; charset=utf-8">
    </HEAD>
    <BODY>
    
    <h1> 회원 정보 수정 </h1>
    <FORM METHOD="post" ACTION="update_result.php">
        아이디: <INPUT TYPE="text" NAME="userID" VALUE=<?php echo $userID ?> READONLY> <br>
        이름: <INPUT TYPE="text" NAME="name" VALUE=<?php echo $name ?>> <br>
        출생연도: <INPUT TYPE="text" NAME="birthYear" VALUE=<?php echo $birthYear ?>> <br>
        지역: <INPUT TYPE="text" NAME="addr" VALUE=<?php echo $addr ?>> <br>
        휴대폰 국번: <INPUT TYPE="text" NAME="mobile1" VALUE=<?php echo $mobile1 ?>> <br>
        휴대폰 전화번호: <INPUT TYPE="text" NAME="mobile2" VALUE=<?php echo $mobile2 ?>> <br>
        신장: <INPUT TYPE="text" NAME="height" VALUE=<?php echo $height ?>> <br>
        회원 가입일: <INPUT TYPE="text" NAME="mDate" VALUE=<?php echo $mDate ?> READONLY><br>
        <BR><BR>
        <INPUT TYPE="submit" VALUE="정보 수정">
    </FORM>
    
    </BODY>
    </HTML>

     

    readonly 준 아이디, 회원 가입일 제외하고 수정 가능

     

    없는 아이디 아무거나 입력했을 때

     

    • 회원 정보 수정 결과(update_result.php)
    <?php
        $con=mysqli_connect("localhost", "root", "1234", "sqlDB") or die("MariaDB 접속 실패");
    
        $userID = $_POST["userID"];
        $name = $_POST["name"];
        $birthYear = $_POST["birthYear"];
        $addr = $_POST["addr"];
        $mobile1 = $_POST["mobile1"];
        $mobile2 = $_POST["mobile2"];
        $height = $_POST["height"];
        $mDate = $_POST["mDate"];
    
        $sql = "UPDATE userTBL SET name='".$name."',
                                   birthYear=".$birthYear.",
                                   addr='".$addr."',
                                   mobile1='".$mobile1."',
                                   mobile2='".$mobile2."',
                                   height=".$height.",
                                   mDate='".$mDate."' WHERE userID='".$userID."'";
    
        $ret = mysqli_query($con, $sql);
    
         echo "<h1> 회원 정보 수정 결과 </h1>";
        if($ret) {
            echo "데이터가 성공적으로 수정됨";
        }
        else {
            echo "데이터 수정 실패"."<br>";
            echo "실패 원인 : ".mysqli_error($con);
        }
        mysqli_close($con);
    
        echo "<br> <a href='main.html'> <-- 초기 화면 </a> ";
    ?>

    마리아 > 마리로 수정

     

    • 회원 정보 삭제(delete.php)
    <?php
        $con=mysqli_connect("localhost", "root", "1234", "sqlDB") or die("MariaDB 접속 실패");
        $sql ="SELECT * FROM userTBL WHERE userID='".$_GET['userID']."'";
    
        $ret = mysqli_query($con, $sql);
        if($ret) {
           $count = mysqli_num_rows($ret);
           if ($count==0) {
              echo $_GET['userID']." 아이디의 회원이 없음"."<br>";
              echo "<br> <a href='main.html'> <-- 초기 화면</a> ";
              exit();
           }
        }
        else {
           echo "데이터 조회 실패"."<br>";
           echo "실패 원인 : ".mysqli_error($con);
           echo "<br> <a href='main.html'> <-- 초기 화면</a> ";
           exit();
        }
        $row = mysqli_fetch_array($ret);
        $userID = $row['userID'];
        $name = $row["name"];
    
    ?>
    
    <HTML>
    <HEAD>
    <META http-equiv="content-type" content="text/html; charset=utf-8">
    </HEAD>
    <BODY>
    
    <h1> 회원 삭제 </h1>
    <FORM METHOD="post" ACTION="delete_result.php">
        아이디: <INPUT TYPE="text" NAME="userID" VALUE=<?php echo $userID ?> READONLY> <br>
        이름: <INPUT TYPE="text" NAME="name" VALUE=<?php echo $name ?>> <br>
        <BR><BR>
        위 회원을 삭제하겠습니까?
        <INPUT TYPE="submit" VALUE="회원 삭제">
    </FORM>
    
    </BODY>
    </HTML>

    메인에서 삭제할 아이디를 입력하면 아이디 / 이름이 자동으로 뜨면서 삭제하겠냐는 창이 뜸

    • 회원 삭제 결과(delete_result.php)
    <?php
        $con=mysqli_connect("localhost", "root", "1234", "sqlDB") or die("MariaDB 접속 실패");
    
        $userID = $_POST["userID"];
    
        $sql = "DELETE FROM userTBL WHERE userID='".$userID."'";
    
        $ret = mysqli_query($con, $sql);
    
        echo "<h1> 회원 삭제 결과 </h1>";
        if($ret) {
            echo $userID." 회원이 성공적으로 삭제됨. ";
        } 
        else {
            echo "데이터 삭제 실패"."<br>";
            echo "실패 원인 : ".mysqli_error($con);
        }
        mysqli_close($con);
    
        echo "<br><br> <a href='main.html'> <-- 초기 화면 </a> ";
    ?>

     

     

    select.php 창에서도 수정 / 삭제 가능

    '데이터베이스 > SQL' 카테고리의 다른 글

    트리거  (0) 2024.01.25
    PHP와 MariaDB 연동  (0) 2023.12.28
    PHP 기본 문법  (0) 2023.12.28
    MariaDB 생성 및 Query Practice  (0) 2023.12.21
    XAMPP 설치  (0) 2023.12.14
Designed by Tistory.