게시글 자동 작성 php 파일 관련해서 질문 드려요 ^^

게시글 자동 작성 php 파일 관련해서 질문 드려요 ^^

QA

게시글 자동 작성 php 파일 관련해서 질문 드려요 ^^

본문

안녕하세요?

 

그누보드를 이용해서 시행착오를 겪으며 첫 홈페이지를 만들어보고 있는 초보입니다 ^^

 

홈페이지 홍보가 되기 전에 어느 정도 게시글이 있어야 할 필요를 느껴서요.

 

다음의 두 글을 참조하여 아래와 같이 자동으로 게시판에 글을 작성하는 php 파일을 작성했는데요. 

(우선 두 분께 진심으로 감사드립니다 ^^)

 

그누커뮨 말러83님의 글

http://gnucomun.net/bbs/board.php?bo_table=study&wr_id=52

 

sir 명랑폐인 님의 팁

https://sir.kr/g5_tip/6762

 

 


<?php
define('_INDEX_', true);
include_once('./_common.php');
function board_write($bo_table, $subject, $content, $mb_id) 
{
    global $g5;
    $write_table = "g5_write_{$bo_table}";
    $wr_num = get_next_num($write_table);
    $wr_reply = '';
    $ca_name = "";
    $html = ""; $secret=""; $mail = "";
    $wr_subject = $subject;
    $wr_content = $content;
    $wr_link1 = "";
    $wr_link2 = "";
    $wr_email = "";
    $wr_name = $bo[bo_use_name] ? $mb[mb_name] : $mb[mb_nick];
    $sql = " insert into $write_table
                     set wr_num = '$wr_num',
                     wr_reply = '$wr_reply',
                     wr_comment = 0,
                     ca_name = '$ca_name',
                     wr_option = '$html,$secret,$mail',
                     wr_subject = '$wr_subject',
                     wr_content = '$wr_content',
                     wr_link1 = '$wr_link1',
                     wr_link2 = '$wr_link2',
                     wr_link1_hit = 0,
                     wr_link2_hit = 0,
                     wr_hit = 0,
                     wr_good = 0,
                     wr_nogood = 0,
                     mb_id = '$mb_id',
                     wr_password = '',
                     wr_name = '$wr_name',
                     wr_email = '$wr_email',
                     wr_homepage = '',
                     wr_datetime = '".G5_TIME_YMDHIS."',
                     wr_last = '".G5_TIME_YMDHIS."',
                     wr_ip = '{$_SERVER['REMOTE_ADDR']}',
                     wr_1 = '',
                     wr_2 = '',
                     wr_3 = '',
                     wr_4 = '',
                     wr_5 = '',
                     wr_6 = '',
                     wr_7 = '',
                     wr_8 = '',
                     wr_9 = '',
                     wr_10 = '' ";
    sql_query($sql);
    $wr_id = sql_insert_id();
    sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
    sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '".G5_TIME_YMDHIS."', '$mb_id' ) ");
    sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");
    return true;
}

$bo_table = "1001"; // 게시판 테이블 입력
$filename = "subject.txt";
$fp = fopen($filename, "r");
$subject = fgets($fp, '50');
fclose($fp);
 
$filename = "content.txt";
$fp = fopen($filename, "r");
$content = fread($fp, filesize($filename));
fclose($fp);
 
$mb_id="guest1"; 
$result =  board_write($bo_table, $subject, $content, $mb_id);

?> 

 

 

일단 php 파일이 오류 없이 실행되어서 게시글이 작성되기는 하는데요.

 

글쓴이의 닉네임이 출력되지 않네요 ㅠㅠ

 

명랑폐인 님께서 원래 작성하신 것처럼 

 

function board_write($bo_table, $subject, $content,$mb_id="admin", $wr_name="관리")로 하고

 

 $wr_name = $bo[bo_use_name] ? $mb[mb_name] : $mb[mb_nick]; 이 부분을 삭제해도

 

마찬가지의 결과인데요 ㅠㅠ

 

아무래도 제가 어디에선가 결정적인 실수를 한 것 같은데요 ㅜㅜ 

 

sir 회원님들께 조언을 부탁드립니다.

 

그럼 감기 조심하시고 좋은 오후 되세요 ^^

 

감사합니다.

 

추신: 웹호스팅은 닷홈을 사용하고 있습니다.

 

1890256229_1512978670.8596.jpg

이 질문에 댓글 쓰기 :

답변 1

아래와 같이 직접 적어 넣으시거나 제목 파일 불러온 것처럼 해서 이름을 넣어주셔도 됩니다.

$wr_name = "이름";

천사별 님 안녕하세요?

늦은 시각에 답변 남겨주셔서 감사드립니다 ^^

천사별 님께서 말씀해준 방법대로

함수 밖에서 $nickname="게스트01"; 를 추가하고

함수 안에서 $wr_name = $nickname; 로 하였는데요.

마찬가지로 글 자체나 목록스킨에서 닉네임이 공백으로 나오네요 ㅠㅠ

아무래도 제가 초보라서 php 파일의 어느 부분에서인가 실수를 한 것 같은데요.

죄송하지만 다시 한 번 여쭤봐도 될까요? ㅜㅜ



<?php
define('_INDEX_', true);
include_once('./_common.php');

function board_write($bo_table, $subject, $content, $mb_id, $nickname) 
{
    global $g5;

    $write_table = "g5_write_{$bo_table}";
    $wr_num = get_next_num($write_table);
    $wr_reply = '';
    $ca_name = "";
    $html = ""; $secret=""; $mail = "";
    $wr_subject = $subject;
    $wr_content = $content;
    $wr_link1 = "";
    $wr_link2 = "";
    $wr_email = "";
    $wr_name = $nickname;

    $sql = " insert into $write_table
                     set wr_num = '$wr_num',
                     wr_reply = '$wr_reply',
                     wr_comment = 0,
                     ca_name = '$ca_name',
                     wr_option = '$html,$secret,$mail',
                     wr_subject = '$wr_subject',
                     wr_content = '$wr_content',
                     wr_link1 = '$wr_link1',
                     wr_link2 = '$wr_link2',
                     wr_link1_hit = 0,
                     wr_link2_hit = 0,
                     wr_hit = 0,
                     wr_good = 0,
                     wr_nogood = 0,
                     mb_id = '$mb_id',
                     wr_password = '',
                     wr_name = '$wr_name',
                     wr_email = '$wr_email',
                     wr_homepage = '',
                     wr_datetime = '".G5_TIME_YMDHIS."',
                     wr_last = '".G5_TIME_YMDHIS."',
                     wr_ip = '{$_SERVER['REMOTE_ADDR']}',
                     wr_1 = '',
                     wr_2 = '',
                     wr_3 = '',
                     wr_4 = '',
                     wr_5 = '',
                     wr_6 = '',
                     wr_7 = '',
                     wr_8 = '',
                     wr_9 = '',
                     wr_10 = '' ";
    sql_query($sql);
    $wr_id = sql_insert_id();
    sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
    sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '".G5_TIME_YMDHIS."', '$mb_id' ) ");
    sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");
    return true;
}


$bo_table = "1001"; // 게시판 테이블 입력

$filename = "subject.txt";
$fp = fopen($filename, "r");
$subject = fgets($fp, '50');
fclose($fp);

$filename = "content.txt";
$fp = fopen($filename, "r");
$content = fread($fp, filesize($filename));
fclose($fp);

$mb_id="guest1"; 
$nickname="게스트01";

$result =  board_write($bo_table, $subject, $content, $mb_id, $nickname);


?>



추신:

알고보니 한글 인코딩의 문제였습니다 ㅠㅠ

천사별 님께서 말씀하신 방법대로 잘 되네요.

천사별 님께 감사드립니다 ^^

그리고 첫번째 방법대로 하려면 다음 한 줄을 추가해야 되네요.

$mb = get_member($mb_id);

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

회원로그인

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