1

PHP ページへの cfhttp 投稿を行っています。

<cfhttp method="Post" url="https://www.example.com/ssl/roundpoint.php" result="mlResponse"> 

<cfhttpparam type="Header" name="Accept-Encoding" value="deflate;q=0"> 
<cfhttpparam type="Header" name="TE" value="deflate;q=0">
<cfoutput>

    <cfif isdefined( "ppcid" )><cfhttpparam name="PPCID" type="formField" value="#PPCID#"></cfif>
    <cfif isdefined( "product")><cfhttpparam name="PRODUCT" type="formField" value="#PRODUCT#"></cfif>
    <cfif isdefined( "va_status" )><cfhttpparam name="VA_STATUS" type="formField" value="#VA_STATUS#"></cfif>
    <cfif isdefined( "qs_product")><cfhttpparam name="QS_PRODUCT" type="formField" value="#QS_PRODUCT#"></cfif>
    <cfif isdefined( "prop_st" ) and prop_st neq ""><cfhttpparam name="PROP_ST" type="formField" value="#PROP_ST#"></cfif>

</cfoutput>
</cfhttp>

PHP ページで cURL 関数を実行し、結果から特定の値を探して保存します。

 $pstVars = '';

 if (count($_REQUEST) > 0) {
    foreach($_REQUEST as $key=>$value) {
       $pstVars .= $key . '=' . urlencode($value) . '&';
     }

    $pstVars .= 'ON_SUBMIT=YES';


    //the SSL/ORGANIC redirect API url 
    $url = 'https://www.example.com/ssl/redirect.php';


    //make the server-side redirect API call
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $pstVars);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    //store the result from the API call
    $roundpoint_result = curl_exec($ch);

    // LOOKING FOR ROUNDPOINT FLAG
    $rpVals = substr($roundpoint_result, 0, 10);

テスト目的で、$rpVals の値が正しいことを確認するために自分自身に電子メールを送信しました。その値を Coldfusion ページに戻す必要があります。値をCookieに渡そうとしました:

 setcookie('RPCOOKIE', $rpVals, time()+60*60*24*2, '/', '.example.com');

ColdFusionページでそれを読み込もうとしました:

<cfparam name="RPCOOKIE" default=""/>
<cfcookie name="RPCOOKIE" value="#RPCOOKIE#">

しかし、Cookie を設定したり、ColdFusion で読み取ったりして、これでうまくいきませんでした。助言がありますか?

(参考までに - Coldfusion ページは数週間以内に PHP で書き直されますが、クライアントは時間に敏感なものを要求しています)。

4

0 に答える 0