WebDB(II) 실습예제 소스 #6

By | 2014년 10월 5일
<?php
require './dbConn.php';

$link = mysqli_connect($dbHost, $dbUser, $dbPass); // MySQL 서버 연결
if (!$link) { // DB연결에 실패한 경우 ($!link, $link!=true, $link==false 모두 동일)
    echo "DB 연결에 실패했습니다.<br/>";
    exit();   // 프로그램 종료
}

$db = mysqli_select_db($link, $dbName); // Database 선택
if (!$db) {  // DB선택에 실패한 경우 ($!$db, $db!=true, $db==false 모두 동일)
    echo "{$dbName} 이름의 DB를 찾을 수 없습니다.<br/>";
    exit();  // 프로그램 종료
}

$char = mysqli_set_charset($link, "utf8"); // DB 문자셋 설정
if (!$char) { // 문자셋 설정에 실패한 경우 ($!$char, $char!=true, $char==false 모두 동일)
    echo "UTF-8 문자셋을 설정하지 못했습니다.<br/>";
    exit();   // 프로그램 종료
}

$sql = "SELECT `userid`, `passwd`, `name`, `email` FROM `user` WHERE `userid` = '{$_GET["userid"]}'";

$result = mysqli_query($link, $sql); // SQL 실행
if (!$result) { // SQL에 오류가 있는 경우
    echo "SQL에 오류가 있습니다.<br/>";
    exit();     // 프로그램 종료
}

$row = mysqli_fetch_array($result); // 검색된 회원정보를 가져옴

mysqli_close($link); // MySQL 연결 종료
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>examSQL-15.php</title>
    </head>
    <body>
        <h1>회원정보수정</h1>
        <form method="post" action="examSQL-17.php">
            아이디 : <input type="text" name="a" value="<?=$row["userid"]?>" /><br/>
            비밀번호 : <input type="password" name="b" value="<?=$row["passwd"]?>"/><br/>
            성명 : <input type="text" name="c" value="<?=$row["name"]?>"/><br/>
            이메일 : <input type="text" name="d" value="<?=$row["email"]?>"/><br/>
            <input type="submit" value="등록" />
        </form>
    </body>
</html>
<?php
require './dbConn.php';

$link = mysqli_connect($dbHost, $dbUser, $dbPass); // MySQL 서버 연결
if (!$link) { // DB연결에 실패한 경우 ($!link, $link!=true, $link==false 모두 동일)
    echo "DB 연결에 실패했습니다.<br/>";
    exit();   // 프로그램 종료
}

$db = mysqli_select_db($link, $dbName); // Database 선택
if (!$db) {  // DB선택에 실패한 경우 ($!$db, $db!=true, $db==false 모두 동일)
    echo "{$dbName} 이름의 DB를 찾을 수 없습니다.<br/>";
    exit();  // 프로그램 종료
}

$char = mysqli_set_charset($link, "utf8"); // DB 문자셋 설정
if (!$char) { // 문자셋 설정에 실패한 경우 ($!$char, $char!=true, $char==false 모두 동일)
    echo "UTF-8 문자셋을 설정하지 못했습니다.<br/>";
    exit();   // 프로그램 종료
}

$sql = "SELECT `userid`, `passwd`, `name`, `email` FROM `user` WHERE `userid` = '{$_GET["userid"]}'";

$result = mysqli_query($link, $sql); // SQL 실행
if (!$result) { // SQL에 오류가 있는 경우
    echo "SQL에 오류가 있습니다.<br/>";
    exit();     // 프로그램 종료
}

$row = mysqli_fetch_array($result); // 검색된 회원정보를 가져옴

mysqli_close($link); // MySQL 연결 종료
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>examSQL-16.php</title>
        <style>
            .field-name {float:left; width:100px;text-align:right;}
            .field-input input {margin-left: 10px;}
        </style>
    </head>
    <body>
        <h1>회원정보수정</h1>
        <form method="post" action="examSQL-17.php">
            <div class="field-name">아이디 : </div>
            <div class="field-input"><input type="text" value="<?= $row["userid"] ?>" disabled />
                <input type="hidden" name="a" value="<?= $row["userid"] ?>" /></div>
            <div class="field-name">비밀번호 : </div>
            <div class="field-input"><input type="password" name="b" value="<?= $row["passwd"] ?>"/></div>
            <div class="field-name">성명 : </div>
            <div class="field-input"><input type="text" name="c" value="<?= $row["name"] ?>"/></div>
            <div class="field-name">이메일 : </div>
            <div class="field-input"><input type="text" name="d" value="<?= $row["email"] ?>"/></div>
            <div class="field-name">&nbsp</div>
            <div class="field-input"><input type="submit" value="등록" /></div>
        </form>
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>examSQL-17.php</title>
    </head>
    <body>
        <?php
        require './dbConn.php';

        $link = mysqli_connect($dbHost, $dbUser, $dbPass); // MySQL 서버 연결
        if (!$link) { // DB연결에 실패한 경우 ($!link, $link!=true, $link==false 모두 동일)
            echo "DB 연결에 실패했습니다.";
            exit();   // 프로그램 종료
        }

        $db = mysqli_select_db($link, $dbName); // Database 선택
        if (!$db) {  // DB선택에 실패한 경우 ($!$db, $db!=true, $db==false 모두 동일)
            echo "{$dbName} 이름의 DB를 찾을 수 없습니다.";
            exit();  // 프로그램 종료
        }

        $char = mysqli_set_charset($link, "utf8"); // DB 문자셋 설정
        if (!$char) { // 문자셋 설정에 실패한 경우 ($!$char, $char!=true, $char==false 모두 동일)
            echo "UTF-8 문자셋을 설정하지 못했습니다.";
            exit();   // 프로그램 종료
        }

        $sql = "UPDATE `user` SET `passwd` = '{$_POST["b"]}', `name` = '{$_POST["c"]}', `email` = '{$_POST["d"]}' WHERE `userid` = '{$_POST["a"]}'";
        echo $sql;

        $result = mysqli_query($link, $sql); // SQL 실행
        if (!$result) { // SQL에 오류가 있는 경우
            echo "SQL에 오류가 있습니다.";
            exit();     // 프로그램 종료
        }

        $num = mysqli_affected_rows($link);
        if ($num == 0) {
            echo "수정된 내용이 없습니다.";
        } else {
            echo "정보가 수정되었습니다.";
        }

        mysqli_close($link); // MySQL 연결 종료
        ?>
        <a href="./examSQL-13.php">목록으로</a>
    </body>
</html>