location 두 URL로 순차적으로 실행되게 할수 있을까요?

location 두 URL로 순차적으로 실행되게 할수 있을까요?

QA

location 두 URL로 순차적으로 실행되게 할수 있을까요?

본문

$redirect_url = "https://www.test.com/oms/odorAnls/insertSensorOu.do";

header("Location: " . $redirect_url . "?FARM=" . $FARM . "&SENSOR=" . $SENSOR . "&VALUE=" . $VALUE);

header("Location: " . $redirect_url . "?FARM=" . $FARM . "&SENSOR=" . $SENSOR2 . "&VALUE=" . $VALUE2);

 

이렇게 하면 하나만 실행 되던지 FAIL

하나를 주석처리하면 SUCCESS

두 곳에 순차적으로 실행되게 소스수정 안될까요?

이 질문에 댓글 쓰기 :

답변 5


<?php
function send_url($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_exec($ch);
    curl_close($ch);
}
 
$redirect_url = "https://www.test.com/oms/odorAnls/insertSensorOu.do";
// header("Location: " . $redirect_url . "?FARM=" . $FARM . "&SENSOR=" . $SENSOR . "&VALUE=" . $VALUE);
// header("Location: " . $redirect_url . "?FARM=" . $FARM . "&SENSOR=" . $SENSOR2 . "&VALUE=" . $VALUE2);
 
send_url($redirect_url . $redirect_url . "?FARM=" . $FARM . "&SENSOR=" . $SENSOR . "&VALUE=" . $VALUE);
send_url($redirect_url . $redirect_url . "?FARM=" . $FARM . "&SENSOR=" . $SENSOR2 . "&VALUE=" . $VALUE2);
?>

<?php
// cURL 핸들 생성
$ch1 = curl_init();
$ch2 = curl_init();

// 첫 번째 URL 요청
curl_setopt($ch1, CURLOPT_URL, 'https://example.com/redirect1');
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch1, CURLOPT_FOLLOWLOCATION, true);

// 두 번째 URL 요청
curl_setopt($ch2, CURLOPT_URL, 'https://example.com/redirect2');
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, true);

// cURL 요청 실행
$response1 = curl_exec($ch1);
$response2 = curl_exec($ch2);

// 에러 확인
if (curl_errno($ch1) !== 0) {
    echo "cURL 에러 1: " . curl_error($ch1);
}

if (curl_errno($ch2) !== 0) {
    echo "cURL 에러 2: " . curl_error($ch2);
}

// cURL 핸들 닫기
curl_close($ch1);
curl_close($ch2);

// 응답 출력
echo "첫 번째 URL 응답: " . $response1 . "\n";
echo "두 번째 URL 응답: " . $response2 . "\n";
?>

AI가 만들어준 소스로 일단 해결했습니다.
도움주셔서 감사합니다.

안녕하세요.

아래의 내용을 한번 참고해 보시겠어요?

 

1. 첫번째 리다이렉트 페이지

 


<?php
$redirect_url = "https://www.example.com/first-redirect.php";
header("Location: " . $redirect_url . "?FARM=" . urlencode($FARM) . "&SENSOR=" . urlencode($SENSOR) . "&VALUE=" . urlencode($VALUE));
exit;
?>

 

2. 첫번째 리다이렉트를 처리하는 페이지

 


<!DOCTYPE html>
<html>
<head>
    <title>Redirecting...</title>
    <script type="text/javascript">
        setTimeout(function() {
            window.location.href = "https://www.test.com/oms/odorAnls/insertSensorOu.do?FARM=<?php echo urlencode($_GET['FARM']); ?>&SENSOR=<?php echo urlencode($_GET['SENSOR2']); ?>&VALUE=<?php echo urlencode($_GET['VALUE2']); ?>";
        }, 1000); // 1000ms = 1초 후 두 번째 URL로 리다이렉트
    </script>
</head>
<body>
    Redirecting...
</body>
</html>

 

 

원하시는것이... 대략 이런 형태 일듯하네요.

테스팅은 안했습니다. 디버깅 하세요.


<?php
$redirect_url = "https://www.test.com/oms/odorAnls/insertSensorOu.do";
$redirect_url1 = $redirect_url."?FARM=".$FARM."&SENSOR=".$SENSOR."&VALUE=".$VALUE;
$redirect_url2 = $redirect_url."?FARM=".$FARM."&SENSOR=".$SENSOR2."&VALUE=".$VALUE2;
?>
<script src='https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js'></script>
<script>
function send_data(d1,d2=false){
    $.ajax({
            url: d1,
            type: "GET",
            success: function(result) {
                if(d2 != false) location.href = d2;
            }
    })
}
$(document).ready(function() {
    const Url1 = '<?=redirect_url1?>';
    const Url2 = '<?=redirect_url2?>';
    send_data(Url1,Url2);  
})
</script>
답변을 작성하시기 전에 로그인 해주세요.
전체 124,131 | RSS
QA 내용 검색

회원로그인

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