폼메일 작성시 다른게시판으로도 보내기. 채택완료
그누배우자
2년 전
조회 1,968
안녕하세요
폼 입력받으면
a.com test 테이블에 db가 입력됩니다.
그리고
b.com test 테이블에도 입력 하려 합니다.
서로 다른 웹호스팅입니다.
a.com
</p>
<p>// 데이터 준비
$data_to_send = array(
'wr_subject' => $_REQUEST['wr_subject'],
'wr_name' => $_REQUEST['wr_name'],
'wr_1' => $_REQUEST['wr_1'],
'wr_2' => $_REQUEST['wr_2'],
'wr_3' => $_REQUEST['wr_3'],
'wr_4' => $_REQUEST['wr_4'],
'wr_5' => $_REQUEST['wr_5'],
'wr_6' => $_REQUEST['wr_6'],
'wr_7' => $_REQUEST['wr_7'],
'wr_8' => $_REQUEST['wr_8'],
'wr_9' => $_REQUEST['wr_9'],
'wr_10' => $_REQUEST['wr_10'],
'wr_content' => $_REQUEST['wr_content'],
);</p>
<p>// 데이터를 JSON 형식으로 변환
$json_data = json_encode($data_to_send);</p>
<p>// b.com으로 POST 요청 보내기
$b_com_api_url = '<a href="https://b.com/receive.php';" target="_blank" rel="noopener noreferrer">https://b.com/receive.php';</a> // b.com의 API 엔드포인트 URL
$ch = curl_init($b_com_api_url);</p>
<p>// HTTP 헤더 설정
$headers = array(
'Content-Type: application/json', // Content-Type을 JSON으로 설정
);</p>
<p>curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);</p>
<p>$response = curl_exec($ch);
$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);</p>
<p>// 응답 확인
if ($http_status == 200) {
echo '데이터가 성공적으로 전송되었습니다.';
} else {
echo '데이터 전송 실패: HTTP ' . $http_status;
}</p>
<p>
b.com (receive.php)
</p>
<p><?php
// JSON 데이터 수신
$json_data = file_get_contents('php://input');
$data_received = json_decode($json_data, true);</p>
<p>if ($data_received) {
// 데이터 처리
$wr_subject = $data_received['wr_subject'];
$wr_name = $data_received['wr_name'];
$wr_1 = $data_received['wr_1'];
$wr_2 = $data_received['wr_2'];
$wr_3 = $data_received['wr_3'];
$wr_4 = $data_received['wr_4'];
$wr_5 = $data_received['wr_5'];
$wr_6 = $data_received['wr_6'];
$wr_7 = $data_received['wr_7'];
$wr_8 = $data_received['wr_8'];
$wr_9 = $data_received['wr_9'];
$wr_10 = $data_received['wr_10'];
$wr_content = $data_received['wr_content'];</p>
<p> // 필요한 다른 데이터 처리</p>
<p> // 여기에서 데이터를 b.com의 데이터베이스에 저장
// 예를 들어, 데이터베이스 연결 및 쿼리 실행
$db_host = 'localhost';
$db_user = 'test';
$db_password = '1234';
$db_name = 'test';</p>
<p> $db = new mysqli($db_host, $db_user, $db_password, $db_name);
if ($db->connect_error) {
die("데이터베이스 연결 실패: " . $db->connect_error);
}</p>
<p>
// 데이터 삽입
$sql = "INSERT INTO g5_write_test (wr_subject, wr_name, wr_1, wr_2, wr_3, wr_4, wr_5, wr_6, wr_7, wr_8, wr_9, wr_10, wr_content)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$stmt = $db->prepare($sql);
if ($stmt) {
$stmt->bind_param("ssssssssssss", $wr_subject, $wr_name, $wr_1, $wr_2, $wr_3, $wr_4, $wr_5, $wr_6, $wr_7, $wr_8, $wr_9, $wr_10, $wr_content);
$stmt->execute();
$stmt->close();
$db->close();</p>
<p> echo '데이터가 성공적으로 수신 및 저장되었습니다.';
} else {
echo '데이터 삽입 실패: ' . $db->error;
}
} else {
echo '데이터 수신 실패: 잘못된 데이터 형식';
}
?></p>
<p>
a.com 에서는 데이터가 성공적으로 전송되었다고 나옵니다.
근데 b.com 에서 수신이 안되고 있습니다.
DB접속까지는 되는데
자꾸 데이터 수신 실패 만 뜹니다.
혹시 잘못된 부분 찝어주실 고수님들.. 도와주십시오..ㅠㅠ
추가로 테스트를 해보니
a.com 에서 보내는 값이 wr_2까지 밖에 없어서 그 이후값이 null값이라 입력이 안되는것 같습니다.
대처할 수 있는 방안이 있을까요?
wr_2까지만 받게 하니 입력이 잘되네요 ㅎㅎ
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
답변을 작성하려면 로그인이 필요합니다.
로그인
혹시 아래처럼 하는게 맞는지요.. 해봣는데 작동이 안되서요..ㅠ
// 데이터 준비
if(!isset($_REQUEST['wr_subject']) || !$_REQUEST['wr_subject']) $_REQUEST['wr_subject'] ='';
if(!isset($_REQUEST['wr_name']) || !$_REQUEST['wr_name']) $_REQUEST['wr_name'] ='';
if(!isset($_REQUEST['wr_1']) || !$_REQUEST['wr_1']) $_REQUEST['wr_1'] ='';
if(!isset($_REQUEST['wr_2']) || !$_REQUEST['wr_2']) $_REQUEST['wr_2'] ='';
if(!isset($_REQUEST['wr_3']) || !$_REQUEST['wr_3']) $_REQUEST['wr_3'] ='';
if(!isset($_REQUEST['wr_4']) || !$_REQUEST['wr_4']) $_REQUEST['wr_4'] ='';
if(!isset($_REQUEST['wr_5']) || !$_REQUEST['wr_5']) $_REQUEST['wr_5'] ='';
if(!isset($_REQUEST['wr_6']) || !$_REQUEST['wr_6']) $_REQUEST['wr_6'] ='';
if(!isset($_REQUEST['wr_7']) || !$_REQUEST['wr_7']) $_REQUEST['wr_7'] ='';
if(!isset($_REQUEST['wr_8']) || !$_REQUEST['wr_8']) $_REQUEST['wr_8'] ='';
if(!isset($_REQUEST['wr_9']) || !$_REQUEST['wr_9']) $_REQUEST['wr_9'] ='';
if(!isset($_REQUEST['wr_10']) || !$_REQUEST['wr_10']) $_REQUEST['wr_10'] ='';
if(!isset($_REQUEST['wr_content']) || !$_REQUEST['wr_content']) $_REQUEST['wr_content'] ='';
$data_to_send = array(
'wr_subject' => $_REQUEST['wr_subject'],
'wr_name' => $_REQUEST['wr_name'],
'wr_1' => $_REQUEST['wr_1'],
'wr_2' => $_REQUEST['wr_2'],
'wr_3' => $_REQUEST['wr_3'],
'wr_4' => $_REQUEST['wr_4'],
'wr_5' => $_REQUEST['wr_5'],
'wr_6' => $_REQUEST['wr_6'],
'wr_7' => $_REQUEST['wr_7'],
'wr_8' => $_REQUEST['wr_8'],
'wr_9' => $_REQUEST['wr_9'],
'wr_10' => $_REQUEST['wr_10'],
'wr_content' => $_REQUEST['wr_content'],
);