write.php에서 이해가 않가는 구문이 있어서 질문드려요~ 정보
write.php에서 이해가 않가는 구문이 있어서 질문드려요~본문
[ bbs/write.php ] 소스를 보면, 194라인에 아래와 같은 문장이 있습니다..
이 문장이 뜻하는 바를 잘 모르겠어요.. 설명부탁드립니다..
그리고 다른 if문과는 다르게, !$member[mb_id]와 같이 부정일때 조건을 만족
하게 했는지도 궁금합니다..
-----------------------------------------------------------------------------------------------------------------------------------
if (!$member[mb_id] || ($is_admin && $w == 'u' && $member[mb_id] != $write[mb_id])) {
$is_name = true;
$is_password = true;
$is_email = true;
$is_homepage = true;
}
이 문장이 뜻하는 바를 잘 모르겠어요.. 설명부탁드립니다..
그리고 다른 if문과는 다르게, !$member[mb_id]와 같이 부정일때 조건을 만족
하게 했는지도 궁금합니다..
-----------------------------------------------------------------------------------------------------------------------------------
if (!$member[mb_id] || ($is_admin && $w == 'u' && $member[mb_id] != $write[mb_id])) {
$is_name = true;
$is_password = true;
$is_email = true;
$is_homepage = true;
}
댓글 전체
-. 들어가기에 앞서...
<<부정일때 조건을 만족시키는 방법>>
'{긍정조건}이 아니라면 {다음의 루틴}을 실행해라.'라는 형식이,
가장 논리적이며 기본으로 구현되는 방식이겠지만,
심플한 소스코드와 기타 프로그래머의 성향에 따라서
{부정문} 하나만으로(단, 두가지 가정이라는 조건하에서...) 돌리는
경우가 일반적인 형태라고 볼 수 있습니다.
뭐 "딱 이거다!"싶게 '부정문'으로 루틴을 짜는 경우와,
'긍정 아니면 부정'으로 루틴을 구성하는 경우가 확연히 구분되는 것은 아닙니다.
그때 그때 상황에 맞게 혼용하겠지요.
-. 게시물 수정($w=='u')에 관한 루틴인것 같습니다.
[조건 하나]
!$member[mb_id] //회원이 아님
[조건 둘]
$is_admin//관리자이고,
&& $w == 'u'//수정모드이며,
&& $member[mb_id] != $write[mb_id]//회원이나 게시물 작성자가 아님.(즉, 게시물 작성회원이 아님)
-. 전체루틴
함축하기 : [조건 하나] 또는 [조건 둘]
풀어쓰기 : [비회원이거나], [이미 작성된 게시물의 수정모드이며, 관리자이고, 게시물 작성자가 아니라면]
★☆★주의사항★☆★
$is_admin이라는 변수는 항상 '최고관리자'를 지칭한다?!
땡...때대대대 ~댕.
$is_admin은,
super(최고관리자) == $config[cf_admin]
group(그룹관리자) == $group[gr_admin]
board(게시판관리자) == $board[bo_admin]
<<부정일때 조건을 만족시키는 방법>>
'{긍정조건}이 아니라면 {다음의 루틴}을 실행해라.'라는 형식이,
가장 논리적이며 기본으로 구현되는 방식이겠지만,
심플한 소스코드와 기타 프로그래머의 성향에 따라서
{부정문} 하나만으로(단, 두가지 가정이라는 조건하에서...) 돌리는
경우가 일반적인 형태라고 볼 수 있습니다.
뭐 "딱 이거다!"싶게 '부정문'으로 루틴을 짜는 경우와,
'긍정 아니면 부정'으로 루틴을 구성하는 경우가 확연히 구분되는 것은 아닙니다.
그때 그때 상황에 맞게 혼용하겠지요.
-. 게시물 수정($w=='u')에 관한 루틴인것 같습니다.
[조건 하나]
!$member[mb_id] //회원이 아님
[조건 둘]
$is_admin//관리자이고,
&& $w == 'u'//수정모드이며,
&& $member[mb_id] != $write[mb_id]//회원이나 게시물 작성자가 아님.(즉, 게시물 작성회원이 아님)
-. 전체루틴
함축하기 : [조건 하나] 또는 [조건 둘]
풀어쓰기 : [비회원이거나], [이미 작성된 게시물의 수정모드이며, 관리자이고, 게시물 작성자가 아니라면]
★☆★주의사항★☆★
$is_admin이라는 변수는 항상 '최고관리자'를 지칭한다?!
땡...때대대대 ~댕.
$is_admin은,
super(최고관리자) == $config[cf_admin]
group(그룹관리자) == $group[gr_admin]
board(게시판관리자) == $board[bo_admin]
그러면 이 부분을 "비회원이 새글을 쓰거나, 운영자(최고,그룹,게시판관리자)가 다른회원의 글을 수정"하려
는 상황으로 이해해도 될까요?
는 상황으로 이해해도 될까요?
===========================
[조건 하나]
!$member[mb_id] //회원이 아님
===========================
상기된 조건이 or 조건으로 언급되어 있지 않다면,
단순히 '수정모드'에 관한 루틴이 되겠으나,
말씀하신 루틴을 간단히 줄여 말하자면,
아마도 그렇게(비회원이 새글을 작성하거나, 관리자가 타 회원의 게시물을 수정하는 것) 생각하시면 될 것 같습니다.
[조건 하나]
!$member[mb_id] //회원이 아님
===========================
상기된 조건이 or 조건으로 언급되어 있지 않다면,
단순히 '수정모드'에 관한 루틴이 되겠으나,
말씀하신 루틴을 간단히 줄여 말하자면,
아마도 그렇게(비회원이 새글을 작성하거나, 관리자가 타 회원의 게시물을 수정하는 것) 생각하시면 될 것 같습니다.