예전에 배포한 팁인데 영역을 확장하였습니다.
그누에는 회원 여분필드와 게시판 여분필드와 게시글(댓글 각각 포함) 여분필드의 3가지 종류가 있고 각기 기본으로 10개씩 내장되어 있습니다.
예제는 mb_1(회원 여분필드), bo_1(게시판 여분필드), wr_1(게시글 여분필드) 로 하였습니다.
기타 비회원에게 안 보이거나 관리자나 회원등급에 따라 보여지게 하려면 적당히 이프문을 넣어주세요.
따로 액션문서나 새로고침 필요없이 버튼 클릭시 그 자리에서 다이렉트로 적용이 됩니다.
----------
1. 회원 여분필드(mb_1)
[code]
<?php
if ($_POST['mb_1']) sql_query(" update {$g5['member_table']} set mb_1 = '{$_POST['mb_1']}' where mb_id = '{$member['mb_id']}' ");
?>
<script>
if (sessionStorage.reLoad) {
sessionStorage.clear();
location.href = "<?php echo $_SERVER['REQUEST_URI']; ?>";
}
</script>
<form method="post">
<input name="mb_1" value="<?php echo $member['mb_1']; ?>">
<button onclick="sessionStorage.reLoad=1">클릭</button>
</form>
[/code]
----------
2. 게시판 여분필드(bo_1)
[code]
<?php
if ($_POST['bo_1']) sql_query(" update {$g5['board_table']} set bo_1 = '{$_POST['bo_1']}' where bo_table = '{$board['bo_table']}' ");
?>
<script>
if (sessionStorage.reLoad) {
sessionStorage.clear();
location.href = "<?php echo $_SERVER['REQUEST_URI']; ?>";
}
</script>
<form method="post">
<input name="bo_1" value="<?php echo $board['bo_1']; ?>">
<button onclick="sessionStorage.reLoad=1">클릭</button>
</form>
[/code]
----------
3. 게시글 여분필드(wr_1)
[code]
<?php
if ($_POST['wr_1']) sql_query(" update $write_table set wr_1 = '{$_POST['wr_1']}' where wr_id = '$wr_id' ");
?>
<script>
if (sessionStorage.reLoad) {
sessionStorage.clear();
location.href = "<?php echo $_SERVER['REQUEST_URI']; ?>";
}
</script>
<form method="post">
<input name="wr_1" value="<?php echo $view['wr_1']; ?>">
<button onclick="sessionStorage.reLoad=1">클릭</button>
</form>
[/code]
----------
4. 원래는 아래처럼 더 간명하게 할 수도 있지만 새로고침시 "양식다시제출확인" 이라는 메시지창이 뜨기 때문에 이를 우회하는 로직을 세션스토리지에 넣은 것입니다.
[code]
<?php
if ($_POST['wr_1']) sql_query(" update $write_table set wr_1 = '{$_POST['wr_1']}' where wr_id = '$wr_id' ");
$view['wr_1'] = $_POST['wr_1'] ? $_POST['wr_1'] : $view['wr_1'];
?>
<form method="post">
<input name="wr_1" value="<?php echo $view['wr_1']; ?>">
<button>클릭</button>
</form>
[/code]
----------
5. 주의사항입니다.
가령 게시글 여분필드인 wr_1 을 쓸 경우 write.skin.php 에도 반드시 wr_1 이 존재해야 합니다.
그렇지 않으면 뷰페이지에서 바뀐 wr_1 여분필드가 글수정모드로 들어가게 되면 그 여분필드는 진공처리가 됩니다.
그러니 hidden 된 input 라도 글쓰기에서는 만들어 주어야 합니다.
[code]
<input type="hidden" name="wr_1" value="<?php echo $write['wr_1']; ?>">
[/code]
댓글 17개
게시글 목록
| 번호 | 제목 |
|---|---|
| 24318 | |
| 24317 | |
| 24315 | |
| 24309 | |
| 24294 | |
| 24293 | |
| 24277 | |
| 24262 | |
| 24260 | |
| 24253 | |
| 24251 | |
| 24236 | |
| 24233 | |
| 24228 | |
| 24226 | |
| 24221 | |
| 24214 | |
| 24203 | |
| 24201 | |
| 24199 | |
| 24196 | |
| 24195 | |
| 24194 | |
| 24192 | |
| 24191 | |
| 24187 | |
| 24185 | |
| 24183 | |
| 24172 | |
| 24168 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기