๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
PHP

PHP CRUD ๊ธฐ์ดˆ

by abkorc33 2023. 1. 24.

๐Ÿ“Œ์ฃผ์š” ๋ฉ”์„œ๋“œ

GET POST
-url ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•ด์„œ(GET๋ฐฉ์‹) ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜๋Š”๊ฑด
๋ถ๋งˆํฌ ํ•  ๋•Œ ์ ํ•ฉํ•˜๋‹ค.
-url์„ ํ†ตํ•˜์ง€ ์•Š๊ณ  ์€๋ฐ€ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ ์ „์†ก(POST)

file_put_contents('data/'.$_POST['title'], $_POST['description']);
ํŒŒ์ผ ์ €์žฅ ๋ฉ”์„œ๋“œ (ํŒŒ์ผ๊ฒฝ๋กœ.ํŒŒ์ผ๋ช…, ํŒŒ์ผ๋‚ด์šฉ)

๋ฆฌ๋‹ค์ด๋ ‰์…˜
์‚ฌ์šฉ์ž๋ฅผ ํŠน์ • ํŽ˜์ด์ง€๋กœ ๋ณด๋‚ด๋Š” ๊ฒƒ
header('Location: index.php?id='.$_POST['title']);

 

ํŒŒ์ผ๋ช… ์ˆ˜์ •/๋ณ€๊ฒฝ
rename('data/'.$_POST['old_title'], 'data/'.$_POST['title']);

ํŒŒ์ผ ์‚ญ์ œ
unlink('data/'.$_POST['id']);

 

index.php 

ํ™”๋ฉด ํ•˜๋‹จ CRUD๊ธฐ๋Šฅ ๋งํฌ ๋ฐ ๋ฒ„ํŠผ ์ƒ์„ฑ

<?php
function print_title() {
    if(isset($_GET['id'])) {
        echo $_GET['id'];
    } else {
        echo "Welcome";
    }
}
function print_description() {
    if(isset($_GET['id'])) {
        echo file_get_contents("data/".$_GET['id']);
    } else {
        echo "Hello, PHP";
    }
}
function print_list() {
    $list = scandir('./data');
    $i = 0;
    while($i < count($list)) {
        if($list[$i] != ".") {
            if($list[$i] != "..") {
                echo "<li><a href='index.php?id=$list[$i]'>$list[$i]</a></li>\n";
            }
        }
        $i++;
    }
}
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>
            <?php
            print_title();
            ?>
        </title>
    </head>
    <body>
        <h1><a href="index.php">WEB</a></h1>
        <ol>
            <?php
            print_list();
            ?>
        </ol>
        <a href="create.php">create</a>
        <?php
        if(isset($_GET['id'])) { ?>
            <a href="update.php?id=<?=$_GET['id']?>">update</a>
            <form action="delete_process.php" method="POST">
                <input type="hidden" name="id" value="<?=$_GET['id']?>">
                <input type="submit" value="delete">
            </form>
        <?php
        }
        ?>
        <h2>
            <?php
            print_title();
            ?>
        </h2>
            <?php
            print_description();
            ?>
    </body>
</html>

if ์กฐ๊ฑด๋ฌธ ์•ˆ์— aํƒœ๊ทธ์™€ formํƒœ๊ทธ๋ฅผ ์œ„์น˜์‹œ์ผœ

id๊ฐ’์ด ์žˆ์„ ๊ฒฝ์šฐ์—๋งŒ ์ˆ˜์ •, ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ๋งŒ๋“ฌ

 

 

 

create.php

form ํƒœ๊ทธ๋งŒ ๋ด๋„ ๋จ

<?php
function print_title() {
    if(isset($_GET['id'])) {
        echo $_GET['id'];
    } else {
        echo "Welcome";
    }
}
function print_description() {
    if(isset($_GET['id'])) {
        echo file_get_contents("data/".$_GET['id']);
    } else {
        echo "Hello, PHP";
    }
}
function print_list() {
    $list = scandir('./data');
    $i = 0;
    while($i < count($list)) {
        if($list[$i] != ".") {
            if($list[$i] != "..") {
                echo "<li><a href='index.php?id=$list[$i]'>$list[$i]</a></li>\n";
            }
        }
        $i++;
    }
}
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>
            <?php
            print_title();
            ?>
        </title>
    </head>
    <body>
        <h1><a href="index.php">WEB</a></h1>
        <ol>
            <?php
            print_list();
            ?>
        </ol>
        <a href="create.php">create</a>
        <form action="create_process.php" method="POST">
            <p>
                <input type="text" name="title" placeholder="Title">
            </p>
            <p>
                <textarea name="description" placeholder="Description"></textarea>
            </p>
            <p>
                <input type="submit">
            </p>
        </form>
    </body>
</html>

create_process.php๋กœ post๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก

 

create_process.php

<?php
// ํŒŒ์ผ ์ƒ์„ฑ
file_put_contents('data/'.$_POST['title'], $_POST['description']);
// ๋ฆฌ๋‹ค์ด๋ ‰์…˜
header('Location: /index.php?id='.$_POST['title']);
?>

 

 

 

update.php

form ํƒœ๊ทธ๋งŒ ๋ด๋„ ๋จ

<?php
function print_title() {
    if(isset($_GET['id'])) {
        echo $_GET['id'];
    } else {
        echo "Welcome";
    }
}
function print_description() {
    if(isset($_GET['id'])) {
        echo file_get_contents("data/".$_GET['id']);
    } else {
        echo "Hello, PHP";
    }
}
function print_list() {
    $list = scandir('./data');
    $i = 0;
    while($i < count($list)) {
        if($list[$i] != ".") {
            if($list[$i] != "..") {
                echo "<li><a href='index.php?id=$list[$i]'>$list[$i]</a></li>\n";
            }
        }
        $i++;
    }
}
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>
            <?php
            print_title();
            ?>
        </title>
    </head>
    <body>
        <h1><a href="index.php">WEB</a></h1>
        <ol>
            <?php
            print_list();
            ?>
        </ol>
        <a href="create.php">create</a>
        <?php
        if(isset($_GET['id'])) { ?>
            <a href="update.php?id=<?=$_GET['id']?>">update</a>
        <?php
        }
        ?>
        <h2>
            <?php
            print_title();
            ?>
        </h2>
            <?php
            print_description();
            ?>
        <form action="update_process.php" method="POST">
            <input type="hidden" name="old_title" value="<?=$_GET['id']?>">
            <p>
                <input type="text" name="title" placeholder="Title" value="<?php print_title(); ?>">
            </p>
            <p>
                <textarea name="description" placeholder="Description"><?php print_description(); ?></textarea>
            </p>
            <p>
                <input type="submit">
            </p>
        </form>
    </body>
</html>

update_process.php๋กœ post๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก

์ˆ˜์ • ์ „ title์„ "old_title"์ด๋ผ๋Š” ๋ณ€์ˆ˜์— ๋‹ด์—์„œ inputํƒœ๊ทธ์˜ hiddenํƒ€์ž…์œผ๋กœ value๊ฐ’(id) ์ „์†ก

 

update_process.php

<?php
// ํŒŒ์ผ๋ช… ์ˆ˜์ •/๋ณ€๊ฒฝ
rename('data/'.$_POST['old_title'], 'data/'.$_POST['title']);
// ์ˆ˜์ •๋œ ํŒŒ์ผ์˜ descriptionํŒŒ์ผ์„ ๋ณ€๊ฒฝ
file_put_contents('data/'.$_POST['title'], $_POST['description']);
// ๋ฆฌ๋‹ค์ด๋ ‰์…˜
header('Location: /index.php?id='.$_POST['title']);
?>

 

 

delete_process.php

<?php
unlink('data/'.$_POST['id']);
header('Location: /index.php');
?>

ํŒŒ์ผ ์‚ญ์ œ ํ›„ index.php๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜

'PHP' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

PHP ๋ณด์•ˆ ํŒŒ์ผ ๊ฒฝ๋กœ ๋ณดํ˜ธ  (0) 2023.01.24
PHP ํŒŒ์ผ๋กœ ๋ชจ๋“ˆํ™”  (0) 2023.01.24
PHP ๊ธฐ์ดˆ4  (0) 2023.01.20
PHP ๊ธฐ์ดˆ3  (0) 2023.01.20
PHP ๊ธฐ์ดˆ2  (0) 2023.01.19

๋Œ“๊ธ€