💾 정보시스템의 핵심(CRUD)
- Create(입력), Read(출력), Update, Delete
< PHP에서 글생성 기능 구현하기 >
<a href="create.php">create</a>
<form action="create_pocess.php" method="post">
<input type="text" name="title" placeholder="Title">
<textarea name="description" placeholder="Description"></textarea>
<input type="submit">
</form>
file_put_contents('data'.$_POST['title'], $_POST['description']);
header('Location: /index.php?id='.$_POST['title']);
< PHP에서 글수정 기능 구현하기 >
<a href="create.php">create</a>
<?php if(isset($_GET['data'])) { ?>
<a href="update.php?id=<?=$_GET['id']?>">update</a>
<?php } ?>
<form action="update_pocess.php" method="post">
<input type="hidden" name="old_title" value="<?=$_GET['id']?>">
<input type="text" name="title" placeholder="Title" value="<?php print_title(); ?>">
<textarea name="description" placeholder="Description" value="<?php print_description(); ?>"></textarea>
<input type="submit">
</form>
<input type="hidden">
: 사용자에게는 노출되지는 않지만 데이터는 전송되는 태그
value
: 기본값을 설정하는 속성
rename('data'.$_POST['old_title'], 'data'.$_POST['title']);
file_put_contents('data/'.$_POST['title'], $_POST['description']);
header('Location: /index.php?id='.$_POST['title']);
< PHP에서 글삭제 기능 구현하기 >
<a href="create.php">create</a>
<?php if(isset($_GET['data'])) { ?>
<a href="update.php?id=<?=$_GET['id']?>">update</a>
<a href="delete_process.php?id=<?=$_GET['id']?>">delete</a>
<form action="delete_process.php" method="post">
<input type="hidden" name="id" value="<?=$_GET['id']?>">
<input type="submit" value="delete">
</form>
<?php } ?>
delete
는 delete.php
경로가 불필요하다.
submit
의 value
는 버튼의 label
이 된다.
unlink('data/'.$_POST['id']);
header('Location: /index.php');
unlink
를 할 때 GET
방식을 사용하게 되면 그 링크에 접속만 해도 파일이 삭제되기 때문에 POST
방식을 사용해야 한다.
© 마침
<?php ~ ?>
에서 php
는 서버 설정에 따라 쓰지 않아도 됨(<? ~ ?>
).
php
태그 안에 html
을 그냥 작성할 수는 없음.
<?php
if(isset($_GET['data'])) { <a href="update.php">update</a> }
?>