특정 게시판에만 로그인을 한후에 글을써도 이름/비밀번호 넣게 하고싶습니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

특정 게시판에만 로그인을 한후에 글을써도 이름/비밀번호 넣게 하고싶습니다. 정보

특정 게시판에만 로그인을 한후에 글을써도 이름/비밀번호 넣게 하고싶습니다.

본문

특정 게시판에만 로그인을 한후 글쓰기 할때 
로그인하지 않은 사용자처럼 입력하게  하고싶습니다.
많은 게시판이 사용중이기 때문에 전체 게시판에 이와같은 방식을 다 적용시켜선 안되고요..

(현재 게시판이 몇백개가 설치되어있는데요 그중 한개의 게시판에 접근할려면
로그인과정을 거쳐야합니다. 그런데 로그인을 하면 해당 유저이름으로만 글을 쓰게되는데
이를 아래처럼 로그인하지 않았을대 글쓰기처럼 글쓸수 있게 하고픈데요.)

--아래의 필드처럼--
------------------------------------------
이 름 
패스워드 
이메일 
홈페이지
제목
내용
자동등록방지 코드를 입력.
-------------------------------------------
사용 게시판은 그누보드4 최신버전이고요
그 특정 게시판의 테이블명은 owner 입니다.
주어진 한개의 계정 아이디 : owner  비밀번호 : 1234

이는 다수의 사용자가 주어진 한개의 계정으로 로그인후에만
글을 쓸 수 있게 하기 위함이고 다수의 사용자기때문에 글쓴이의 이름과 등록한 글을
보호하기위해 비밀번호가 필요합니다.


write_update.php 쪽에서 로그인을 한 사용자도 비밀번호를 넣게 하는 필드가 있긴하던데

 // $wr_password = $member[mb_password];  <--- 이분분을
 $wr_password = sql_password($wr_password);  <--- 이와같이 교정했는데도 변화가 없군요.

어쨌든 비밀번호만의 문제가 아니라 글쓴이의 이름도 입력하게 해야하니
복잡하고....어떻게 해야할지 모르겠습니다.

고수님들의 도움이 절실히 필요합니다..
  • 복사

댓글 전체

해당 항목은
글쓰기 폼에서 보이게 하려면

bbs/write.php에서
$is_name = false;
$is_password = false;
$is_email = false;
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;
}

이 변수들을 무조건 true로 바꾸거나

write.skin.php에서

조건없이 해당 항목 <input을 나오게 하면 됩니다.



write_update.php에서, write.skin.php에서 넘어온 값을 반영하기 위해서는

write_update.head.skin.php

<?php
        if( $board[bo_use_name] ) $member[mb_name]= $wr_name;
        else $member[mb_nick]= $wr_name;
        $member[mb_password] $wr_paddword;
        $member[mb_email]=$wr_email;
        $member[mb_homepage]= $wr_homepage;

?>

를 넣으세요.
/엑스엠엘 님 항상 도움주시는군요 고맙습니다.^^

위의 방법으로 하니까 로그인후에도 정보를 입력할 수 있게 잘~뜨는군요

그런데 전체 게시판에 다 적용이 되서 문제가 있네요
좀더 고민해봐야 겠습니다...

아랫쪽의 답글중  write_update.head.skin.php 파일은 아무리 찾아도 없네요...
어디에 있는건가요?

write_update.php 파일 열어보니 상단에

<?
$g4[title] = $wr_subject . "글입력";
include_once("./_common.php");
@include_once("$board_skin_path/write_update.head.skin.php");
include_once("$g4[path]/lib/trackback.lib.php");


있는데...파일이 없네요.....무슨뜻인가요..
아~ 게시판 스킨 생각을 못했군요.. 고맙습니다.
스킨은 basic 스킨을 basic_1 로 복사해서 사용할 생각입니다.

그리고

위의 내용중

write.php 파일에서 240라인~

$is_name = true;
$is_password = true;
$is_email = true;
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;
}

이부분 모두 true로 바꿔줘서  글쓰기할때 이름/비밀번호 등의 입력 필드가 뜨는데요
"홍길동" 이름으로 글쓰고 완료하면
글쓴이가 로그인한 유저이름인 "관리자"로 바뀌어버리는군요 ㅠ

삭제할때도 비밀번호를 묻고 비밀번호 모르면 삭제 못하게 해야는데요

이부분도 write.php 파일 수정해야하나요? 아님 스킨파일을 수정해야하나요..
위에서 힌트 주신대로 파일 만들어 올렸습니다.
근데.. write.skin.php파일 어느부분을 손봐야하는지 모르겠네용..

[현재 상황은]
/board/bbs/write_update.php  <-- 수정없음
/board/skin/board/basic/write.skin.php  <-- 기본스킨 수정없음
/board/skin/board/basic/write_update.head.skin.php  <-- 내용은
<?php
        if( $board[bo_use_name] ) $member[mb_name]= $wr_name;
        else $member[mb_nick]= $wr_name;
        $member[mb_password]= $wr_paddword;
        $member[mb_email]= $wr_email;
        $member[mb_homepage]= $wr_homepage;
?>

이러합니다.

너무 몰라서 죄송해요..
로그인한거 완전 무시하고 일반 공개된게시판처럼 하고픈데..
삭제할때도 글쓸때 넣은 비밀번호 넣어야 삭제되게 말이죠..
로그인한 상태라서 그냥 바로 삭제가 되버리니....ㅠㅠ

힌트좀 더 주세요~~~
© SIRSOFT
현재 페이지 제일 처음으로