글수정 한사람만 접속할려면 어떻게 해야 하나요?

글수정 한사람만 접속할려면 어떻게 해야 하나요?

QA

글수정 한사람만 접속할려면 어떻게 해야 하나요?

본문

특정 게시판을 모든 회원에게 관리자 권한을 줘서 누구나 남의 글을 수정할수 있도록 해서 사용 중입니다.

 

문제는 여러명의 회원이 동시에 글 수정을 했을때 문제가 되고있습니다. 

 

혹시 글수정 페이지는 한사람만 접속하게 하고 싶은데 방법이 있을까요?

이 질문에 댓글 쓰기 :

답변 5

write.php 상단에

 


if ($member['mb_id'] != '원하는 사람 아이디' && $bo_table == '특정게시판테이블명' && $w == "u") {
       alert('권한이 없어 수정이 불가능합니다.');
}

 

추가하세요!!!

 

 

 

동시 수정을 막는 방법은 없습니다

일례를 들어보면

A가 수정을 클릭해서 수정화면에 열린 상태로, 몇시간동안 딴짓을 했습니다

이것을 감지하는 방법이 없습니다

열렸던 상태로 웹브라우저 창을 닫는다면, 그 페이지는 영원히 열린 상태가 됩니다....

글수정 페이지 접속할때..

해당 글의 여분필드에 수정하는 회원 아이디를 저장하고..

다른 회원이 수정페이지 접속할때 차단하는 방법이 있습니다.

수정 후 저장을 누를때, 다시 아이디를 삭제하면 되구요.

write.skin.php 에 회원 접근시 여분필드 wr_1 에 수정중인지 아닌지를 채크하면됩니다.

 

if($w == 'u' && $write['wr_1'] == ''){ // 수정 상태이고 누가 수정중이지 않을때

// 해당 게시물의 wr_1 필드에 1을 업데이트 하여 수정중임을 표시

sql_query("update `g5_write_{$_GET['bo_table']}` set wr_1 = '{$member['mb_id']}' where wr_is_comment = '0' and wr_id = '{$_GET['wr_id']}'");

} else if($write['wr_1']) { // wr_1 값이 있다면 수정중임.

alert($write['wr_1'].'님이 수정중입니다.');

}

이런식으로도 변경 하고.

저장할때 write.update.php 에서 위 쿼리중 wr_1 을 공란으로 한번 더 업데이트 해줍니다.

무척 어려운 문제입니다.

 

글수정 페이지는 한사람만 접속하게...

==

즉 수정하는 시간 동안에 다른 사람은 수정을 못 하게 하는 것인데

수정하는 시간을 어떻게 정할지부터 생각해 보셔야 합니다.

글쓰는 시간이 하루 걸리면

다른 사람들을 그 글을 수정하고자하면 하루를 기다려야 합니다.

 

좀 무책임한 방법으로는

글쓰는 페이지를 열 때, 이 글의 수정 시각을 저장하고

글 다 쓰고 저장할 때, 기존 수정 시각과 저장된 시각을 비교해서 다르면 

메시지를 출력하고 글은 저장 안 하는 방식이 있습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,598 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT