IT 정보

php/그누보드/영카트 이동시 포스트로 데이터 갖고 넘기기

jerry99 2024. 6. 5. 12:05

1. goto_url_post 함수 정의

function goto_url_post($url, $data) {
    echo '<form id="post_form" method="post" action="' . $url . '">';
    foreach ($data as $key => $value) {
        echo '<input type="hidden" name="' . htmlspecialchars($key) . '" value="' . htmlspecialchars($value) . '">';
    }
    echo '</form>';
    echo '<script>document.getElementById("post_form").submit();</script>';
    exit;
}

 

그누보드나 영카트에서는 goto_url 함수를 이용하여 자주 이동처리를 사용하지만 데이터를 갖고 이동처리를 해야할때 간단하게 사용 할 수 있는 코드 방식이다 .

 

2. 예제 코드 (사용자 데이터 전송)

아래는 사용자가 입력한 데이터를 goto_url_post 함수를 이용해 process.php로 전송하는 예제입니다.

 

<?php
// 위에 정의된 goto_url_post 함수를 포함하거나 복사합니다.
function goto_url_post($url, $data) {
    echo '<form id="post_form" method="post" action="' . $url . '">';
    foreach ($data as $key => $value) {
        echo '<input type="hidden" name="' . htmlspecialchars($key) . '" value="' . htmlspecialchars($value) . '">';
    }
    echo '</form>';
    echo '<script>document.getElementById("post_form").submit();</script>';
    exit;
}

// 예제 데이터
$data = array(
    'name' => 'John Doe',
    'email' => 'john@example.com'
);

// 전송할 URL
$url = 'https://www.example.com/process.php';

// 함수 호출
goto_url_post($url, $data);
?>

 

위 코드는 name과 email 데이터를 주소로 POST 방식으로 전송합니다.

실행하면 자동으로 폼이 생성되고 제출되어 데이터가 전송됩니다.

 

3. process.php 파일 예제

process.php 파일에서는 전송된 데이터를 받을 수 있습니다. 예를 들어, 아래와 같이 데이터를 처리할 수 있습니다.

 

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $name = $_POST['name'];
    $email = $_POST['email'];

    // 데이터를 처리합니다.
    echo "Name: " . htmlspecialchars($name) . "<br>";
    echo "Email: " . htmlspecialchars($email);
}
?>

 

이렇게 하면 사용자가 입력한 name과 email을 받아서 화면에 출력할 수 있습니다.