STUDY/PHP
[ 생활코딩 web2 - php ] 3. CRUD 구현
JUNGY00N
2022. 12. 18. 22:55
- post 방식으로 받아온 데이터의 값을 얻는 방법 : $_POST['데이터이름']
$_POST['title']
- 파일 쓰기 함수 : file_put_contents()
file_put_contents('./data/'.$_POST['title'],$_POST['body']);
- php의 redirect 함수 : header('Location: ~');
header('Location: /index.php?id='.$_POST['title']);
쓰기 기능 구현 (CREATE)
- create 링크 클릭 시 title과 body입력 칸 나옴
- title, body 입력 후 create 클릭 시 해당 내용의 파일 생성되며
- create한 내용 보이도록 링크 redirect
<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="body" placeholder="body" rows=6></textarea></p>
<p><input type="submit" value="create"></p>
</form>
<?php
file_put_contents('./data/'.$_POST['title'],$_POST['body']);
header('Location: /index.php?id='.$_POST['title']);
?>
수정 기능 구현 (UPDATE)
- 수정하고자 하는 항목 클릭 시 update 링크 버튼 생성
- update 링크 클릭 시 현재의 title, body값을 수정할 수 있는 form태그 보임
- 내용 수정 후 update 클릭하면 해당 항목의 내용 출력 페이지로 이동
<?php if (isset($_GET['id'])) {
echo '<li><a href="update.php?id=' . $_GET['id'] . '">update</a></li>';
} ?>
<form action="update_process.php" method="post">
<input type="hidden" name="old_title" value=<?= $_GET['id']?>>
<p><input type="text" name="title" value=<?= print_title();?>></p>
<p><textarea name="body" placeholder="body" rows=8 cols=40><?=print_description();?></textarea></p>
<p><input type="submit" value="update"></p>
</form>
<?php
rename('./data/'.$_POST['old_title'],'./data/'.$_POST['title']);
file_put_contents('./data/'.$_POST['title'],$_POST['body']);
header('Location: /index.php?id='.$_POST['title']);
?>
삭제 기능 구현 (DELETE)
- delete 버튼 클릭 시 해당 항목 삭제되며 (파일 삭제) 메인화면으로 이동
- 파일 삭제하는 함수 : unlink()
unlink('./data/'.$_POST['id']);
<form action="delete_process.php" method="post">
<input type="hidden" name="id" value="<?=$_GET['id']?>">
<li><input type="submit" value="delete"></li>
</form>
<?php
unlink('./data/'.$_POST['id']);
header('Location: index.php');
?>