1

$_POST['custom'] で IPN を使用してカスタム フィールドを送信できることはわかっていますが、アップロードされたファイルでそれを行うことはできますか? より具体的には、アップロードされた画像ですか?

カスタム フィールドが 2 つある場合はどうすればよいでしょうか。以前は次のようなものを使用していました。

<input type="hidden" name="custom" value="<?php echo $a.'|'.$b ?>"/>

しかし、それはただのテキストでした!今、ファイルをアップロードしたいのですが、カスタムテキストも持っているので、それを取得したいと思います。

これは可能で、どのように見えるでしょうか?

ありがとう!

4

1 に答える 1

8

あなたが説明しているようにそれを行うことは不可能だと思いますが、これは私が過去に使用した代替案です。

  1. PayPalへのファイルアップロード投稿を含むフォームを用意する代わりに、サイトに投稿してから、アップロードしたファイルとその他のカスタムデータをデータベースに保存します(または他の方法で保存します)。そのデータにIDを割り当てます。

  2. 次に、入力フィールドを非表示にする必要があることを除いて、基本的に同じフォームを含むページにユーザーをリダイレクトします。フォームはPayPalに投稿されます。そのフォームに前の投稿のデータをプログラムで入力し、「カスタム」フィールドにカスタムデータに割り当てたIDを入力します。このページには、このようなJavaScriptステートメントも含まれます(フォームの後の下部に、フォームが読み込まれるまで実行されないようにします)...

    <script type="text/javascript">
        document.forms["paypalform"].submit();
    </script>
    

    ...ページが読み込まれたときにフォームを自動的に送信します。ユーザーがJavaScriptを無効にしている場合に備えて、送信ボタンを残しておくことをお勧めします(必要に応じて、リンクとしてスタイルを設定できます)。「10秒以内にPayPalにリダイレクトされない場合は、ここをクリックしてください」のように表示される場合があります。ページに「PayPalへのリダイレクト」などの別のメッセージを追加することもできます。

  3. これで、そのトランザクションについてPayPalからPDTまたはIPN情報を取得すると、「カスタム」フィールドに、以前にデータに割り当てたIDが含まれます。保存した場所からデータを取得するだけです。

これは以前にASP.NETで行ったことがあり、PHP(サーバー側の部分)でも同様に機能すると思いますが、はっきりとは言えません。

注:「カスタム」フィールドには、最大256文字しか含めることができません。

于 2012-07-26T23:19:33.307 に答える