다른사이트에서 글쓰기 가능하나요?
본문
다른사이트에서 글쓰기를 하고 싶습니다.
예를들어
A사이트 특정게시판에
글제목: test
내용: text
첨부파일: 사진.jpg
이렇게 글등록하면 B사이트로도 업데이트 되는...
B사이트 특정게시판에
글제목: test
내용: text
첨부파일: 사진.jpg
물론 첨부파일은 A사이트에만 있는거구요.
업데이트해줄때 특정사이트의 게시판을 지정해서 업데이트 해줄 수 있는건지 궁금합니다.
답변 6
대충 소스를 정리해서 올립니다.
본인 사이트는 수정한 내용이 많아 그누 원본에 맞춰 정리한다고 했으나,
에러가 있을 수 있으니, 에러가 발생할경우 댓글로 알려주세요.^^
1. A 서버의 게시판(게시글을 실제로 등록하는) 스킨 폴더에서 write_skin.php 수정
적당한 위치를 찾아 아래 내용을 추가함
<input type="hidden" name="addr" value="<?=$_SERVER['HTTP_HOST']?>">
.
.
.
<?php
// B 서버의 게시판 이름 불러와서 선택하기
$mysql_host = 'B서버의Mysql주소';
$mysql_user = 'B서버의Mysql USER';
$mysql_pwd = 'B서버의Mysql PW';
$mysql_db = 'B서버의Mysql DB명';
// mysql connect --> 추가 댓글 확인.. //
$result = mysql_query($sql);
?>
<input type="radio" name="chk_bd" value="" ?checked="checked">복사안함.<br>
<?php
for($i=0; $bd=mysql_fetch_array($result); $i++){
?>
<input type="radio" name="chk_bd" value="<?=$bd[bo_table]?>"><?=$bd[bo_subject]?><br>
<?php } } ?>
2. A 서버의 게시판(게시글을 실제로 등록하는) 스킨에 다음과 같은 내용을, "write_update.skin.php"에 추가함.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// B 서버의 게시판으로 글 보내기
?$sql1 = " select * from $write_table where wr_id = '$wr_id' ";
?$result1 = sql_query($sql1);
?$mm = sql_fetch_array($result1);
// $content = "<center>".$mm[wr_content]."</center>";
// alert($chk_bd);
if($chk_bd !='' ){
?>
<html>?
<head>?
</head>?
<body>?
<form id="data_form" action="http://B 사이트/dataFromA.php" method="post">
<input type="hidden" name="chk_bd" value="<?=$chk_bd?>">
<input type="hidden" name="bd" value="<?=$bo_table?>">
<input type="hidden" name="wr_id" value="<?=$mm[wr_id]?>">
<input type="hidden" name="wr_reply" value="<?=$mm[wr_reply]?>">
<input type="hidden" name="wr_comment" value="<?=$mm[wr_comment_reply]?>">
<input type="hidden" name="ca_name" value="<?=$mm[ca_name]?>">
<input type="hidden" name="wr_option" value="<?=$mm[wr_option]?>">
<input type="hidden" name="wr_subject" value="<?=$mm[wr_subject]?>">
<input type="hidden" name="wr_content" value='<?=$mm[wr_content]?>'>
<input type="hidden" name="wr_link1" value="<?=$mm[wr_link1]?>">
<input type="hidden" name="wr_link2" value="<?=$mm[wr_link2]?>">
<input type="hidden" name="wr_link1_hit" value="<?=$mm[wr_link1_hit]?>">
<input type="hidden" name="wr_link2_hit" value="<?=$mm[wr_link2_hit]?>">
<input type="hidden" name="wr_hit" value="<?=$mm[wr_hit]?>">
<input type="hidden" name="wr_good" value="<?=$mm[wr_good]?>">
<input type="hidden" name="wr_nogood" value="<?=$mm[wr_nogood]?>">
<input type="hidden" name="mb_id" value="<?=$mm[mb_id]?>">
<input type="hidden" name="wr_password" value="<?=$mm[wr_password]?>">
<input type="hidden" name="wr_name" value="<?=$mm[wr_name]?>">
<input type="hidden" name="wr_email" value="<?=$mm[wr_email]?>">
<input type="hidden" name="wr_homepage" value="<?=$mm[wr_homepage]?>">
<input type="hidden" name="wr_datetime" value="<?=$mm[wr_datetime]?>">
<input type="hidden" name="wr_file" value="<?=$mm[wr_file]?>">
<input type="hidden" name="wr_last" value="<?=$mm[wr_last]?>">
<input type="hidden" name="wr_ip" value="<?=$mm[wr_ip]?>">
<input type="hidden" name="wr_facebook_user" value="<?=$mm[wr_facebook_user]?>">
<input type="hidden" name="wr_twitter_user" value="<?=$mm[wr_twitter_user]?>">
<input type="hidden" name="wr_1" value="<?=$mm[wr_1]?>">
<input type="hidden" name="wr_3" value="<?=$mm[wr_3]?>">
<input type="hidden" name="wr_4" value="<?=$mm[wr_4]?>">
<input type="hidden" name="wr_5" value="<?=$mm[wr_5]?>">
<input type="hidden" name="wr_6" value="<?=$mm[wr_6]?>">
<input type="hidden" name="wr_7" value="<?=$mm[wr_7]?>">
<input type="hidden" name="wr_8" value="<?=$mm[wr_8]?>">
<input type="hidden" name="wr_9" value="<?=$mm[wr_9]?>">
<input type="hidden" name="wr_10" value="<?=$mm[wr_id]?>">
<input type="hidden" name="addr" value="<?=$addr?>">?
<input type="hidden" name="page" value="<?=$page?>">
</form>
<script>
this.document.getElementById("data_form").submit();?
</script>
</body>
</html>
3. B 서버에? "dataFromA.php" 파일 생성
<?php
$wr_id1 = $_POST['wr_id'];
$chk_bd = $_POST['chk_bd'];
include_once("./_common.php");
if($wr_id1 ==""){
echo "게시글 wr_id가 없음";
} else {
$sql = " select * from g5_write_".$chk_bd." where wr_10 = '$wr_id1' ";
$result = sql_query($sql);
$d = sql_fetch_array($result);
//A 서버의 게시글 wr_id가 wr_10과 같으면 글 수정, 업데이트를 실행
if($d[wr_10] == $wr_id1){
$sql1 = " UPDATE g5_write_".$chk_bd." SET
wr_comment = '$wr_comment',
wr_comment_reply = '$wr_comment_reply',
ca_name = '$ca_name',
wr_option = '$wr_option',
wr_subject = '$wr_subject',
wr_content = '$wr_content',
wr_link1 = '$wr_link1',
wr_link2 = '$wr_link2',
wr_link1_hit = '$wr_link1_hit',
wr_link2_hit = '$wr_link2_hit',
wr_hit = '$wr_hit',
wr_good = '$wr_good',
wr_nogood = '$wr_nogood',
mb_id = '$mb_id',
wr_password = '$wr_password',
wr_name = '$wr_name',
wr_email = '$wr_email',
wr_homepage = '$wr_homepage',
wr_datetime = '$wr_datetime',
wr_file = '$wr_file',
wr_last = '$wr_last',
wr_ip = '$wr_ip',
wr_1 = '$wr_1',
wr_3 = '$wr_3',
wr_4 = '$wr_4',
wr_5 = '$wr_5',
wr_6 = '$wr_6',
wr_7 = '$wr_7',
wr_8 = '$wr_8',
wr_9 = '$wr_9',
wr_10 = '$wr_10' where wr_10 = '$d[wr_id]' ";
sql_query($sql1);
} else {
$sql2= " INSERT INTO g5_write_".$chk_bd." VALUES
('',
'',
'',
'',
'0',
'',
'',
'$ca_name',
'$wr_option',
'$wr_subject',
'$wr_content',
'$wr_link1',
'$wr_link2',
'$wr_link1_hit',
'$wr_link2_hit',
'$wr_hit',
'$wr_good',
'$wr_nogood',
'$mb_id',
'$wr_password',
'$wr_name',
'$wr_email',
'$wr_homepage',
'$wr_datetime',
'',
'$wr_last',
'$wr_ip',
'',
'',
'$wr_1',
'$wr_2',
'$wr_3',
'$wr_4',
'$wr_5',
'$wr_6',
'$wr_7',
'$wr_8',
'$wr_9',
'$wr_10') ";
sql_query($sql2);
$wr_id2 = sql_insert_id();
$table = "g5_write_".$chk_bd;
$wr_num = get_next_num($table);
// 부모 아이디에 UPDATE
sql_query(" update g5_write_".$chk_bd." set wr_num='$wr_num', wr_parent = '$wr_id2' where wr_id = '$wr_id2' ");
// 게시글 1 증가
sql_query("update g5_board set bo_count_write = bo_count_write + 1 where bo_table = '$chk_bd' ");
//echo $sql;
}
}
?>
<script>
location.replace("http://<?=$addr?>/bbs/board.php?bo_table=<?=$bd?>&page=<?=$page?>");
</script>
!-->!-->!-->
아래 내용을
// mysql connect --> 추가 댓글 확인.. //
이부분에 삽입..
$connect = @mysql_connect($mysql_host, $mysql_user, $mysql_pwd) or die ("connect error");
@mysql_select_db($mysql_db, $connect) or die("error");
$sql = " select bo_table, bo_subject, bo_category_list from g5_board";
DB가 같은 서버에 있다고 하면 가능해요
DB가 다른 서버에 있다고 해도 가능하지요.^^
본인은 운영중인 사이트에서, 다른 서버에 있는 사이트로 게시글을 같이 등록하고 있습니다.
소스를 정리해서 올려드리드릴 것이니 30분 정도 기다리세요..
이상하게,
?$sql1 = " select * from $write_table where wr_id = '$wr_id' ";
?$result1 = sql_query($sql1);
?$mm = sql_fetch_array($result1);
이런식으로 빈 칸에 "?"가 삽입되어 있네요..
주의해서 보셔야 할듯... ㅜ.ㅜ
"?" 가 붙어있어 수정할 부분 입니다.
1번 파일 이상 없음.
2번파일 4~5번줄 앞, 53번 줄 맨 뒤, 57번줄 맨 뒤 "?" 삭제
04 --> $sql1 = " select * from $write_table where wr_id = '$wr_id' ";
05 --> $result1 = sql_query($sql1);
06 --> $mm = sql_fetch_array($result1);
53 --> <input type="hidden" name="addr" value="<?=$addr?>">
57 -->this.document.getElementById("data_form").submit();
3번파일 이상없음..