테스트 사이트 - 개발 중인 베타 버전입니다

1:1문의게시판 답변관련 질문드립니다. 채택완료

다나한포션 4년 전 조회 1,319

안녕하세요.

1:1 게시판에 관리자 외에

레벨4도 답변을 달 수 있게 하고 싶습니다.

 

qawrite_update.php 에서

</p>

<p>

if($w == 'u' || $w == 'a' || $w == 'r') {

    if($w == 'a' && !$is_admin)

        alert('답변은 관리자만 등록할 수 있습니다.');</p>

<p>    $sql = " select * from {$g5['qa_content_table']} where qa_id = '$qa_id' ";

    if(!$is_admin) {

        $sql .= " and mb_id = '{$member['mb_id']}' ";

    }</p>

<p>    $write = sql_fetch($sql);</p>

<p>    if($w == 'u') {

        if(!$write['qa_id'])

            alert('게시글이 존재하지 않습니다.\\n삭제되었거나 자신의 글이 아닌 경우입니다.');</p>

<p>        if(!$is_admin) {

            if($write['qa_type'] == 0 && $write['qa_status'] == 1)

                alert('답변이 등록된 문의글은 수정할 수 없습니다.');</p>

<p>            if($write['mb_id'] != $member['mb_id'])

                alert('게시글을 수정할 권한이 없습니다.\\n\\n올바른 방법으로 이용해 주십시오.', G5_URL);

        }

    }</p>

<p>    if($w == 'a') {

        if(!$write['qa_id'])

            alert('문의글이 존재하지 않아 답변글을 등록할 수 없습니다.');</p>

<p>        if($write['qa_type'] == 1)

            alert('답변글에는 다시 답변을 등록할 수 없습니다.');

    }

}</p>

<p>

!$is_admin 뒷 부분에

!$is_admin && $member['mb_level'] == "4"

 

이런식으로 넣어주니 

관리자만 수정할 수 있다고 계속 나옵니다.

 

도움 부탁드립니다. ㅠ

잦은 질문 죄송합니다. ㅠ

 

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트

레벨4 이상일때 답변을 달수있게하려면

</p>

<pre>
<code>    if($w == 'a' && !$is_admin)
        alert('답변은 관리자만 등록할 수 있습니다.');</code></pre>

<p> </p>

<p><code>==></code></p>

<p> </p>

<pre>
<code>    if($w == 'a' && (!$is_admin && $member['mb_level'] != 4) )
        alert('답변은 관리자 와 레벨4 만 등록할 수 있습니다.');</code></pre>

<p>

 

이렇게 해주셔야합니다

 

또한 

</p>

<pre>
<code>if(!$is_admin) {
        $sql .= " and mb_id = '{$member['mb_id']}' ";
    }</code></pre>

<p> </p>

<p><font face="monospace">==></font></p>

<p> </p>

<pre>
<code>if(!$is_admin && $member['mb_level'] != 4) {
        $sql .= " and mb_id = '{$member['mb_id']}' ";
    }</code></pre>

<p>

 

이렇게 바꿔주셔야 합니다

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

다나한포션
4년 전
답변감사합니다. 잘되네요!
근데 레벨4가 답변의 수정 및 삭제 버튼이 아예 안나오는데
어딜 수정해야 할까요?ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

수정 삭제의 경우에도

 

</p>

<p>if(<code>$member['mb_level'] == 4){</code></p>

<p><code> // 수정 삭제버튼 노출 부분</code></p>

<p><code>}</code></p>

<p>

 

으로 처리하시면 됩니다

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

플래토
4년 전

저는 조금 다른방법일텐데요

 

</p>

<pre>
<code>if($w == 'a' && !$is_admin)
        alert('답변은 관리자만 등록할 수 있습니다.');
    $sql = " select * from {$g5['qa_content_table']} where qa_id = '$qa_id' ";
    if(!$is_admin) {
        $sql .= " and mb_id = '{$member['mb_id']}' ";
    }</code></pre>

<p><font face="monospace"><span style="font-size: 11.375px;">

이 부분을

</span></font></p>

<p>$isReq = ($is_admin || $member['mb_level'] =='4') ? true : false;</p>

<p>   </p>

<pre>
<code>if($w == 'a' && !$isReq)  // 이곳
        alert('답변은 관리자또는 허용된레벨만 등록할 수 있습니다.');   // 문구일부
    $sql = " select * from {$g5['qa_content_table']} where qa_id = '$qa_id' ";
    if(!$isReq) {  // 이곳
        $sql .= " and mb_id = '{$member['mb_id']}' ";
    }</code></pre>

<p><code>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

다나한포션
4년 전
답변감사합니다. 이 방법도 잘됩니다. 너무 감사합니다.
먼저 적어주신분께 채택드렸어요 ㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인