다른사이트에서 글쓰기 가능하나요? 채택완료
다른사이트에서 글쓰기를 하고 싶습니다.
예를들어
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>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
"?" 가 붙어있어 수정할 부분 입니다.
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번파일 이상없음..
댓글을 작성하려면 로그인이 필요합니다.
이상하게,
?$sql1 = " select * from $write_table where wr_id = '$wr_id' ";
?$result1 = sql_query($sql1);
?$mm = sql_fetch_array($result1);
이런식으로 빈 칸에 "?"가 삽입되어 있네요..
주의해서 보셔야 할듯... ㅜ.ㅜ
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
아래 내용을
// 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";
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
DB가 다른 서버에 있다고 해도 가능하지요.^^
본인은 운영중인 사이트에서, 다른 서버에 있는 사이트로 게시글을 같이 등록하고 있습니다.
소스를 정리해서 올려드리드릴 것이니 30분 정도 기다리세요..
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인