1

PayPal での購入が必要な製品の Web ページがあります。その製品で利用可能なさまざまなオプションの選択ボックスを使用しました。

私は正常にペイパルを統合しましたが、html ページはペイパル ページに「金額」を渡しています。私ができないことは、選択したオプションに対応する「item_name」をペイパルページに渡すことです。

どんな助けでも大歓迎です、前もって感謝します。

    <form name="" action="shop_paypal.php" method="post">
        <input name="cmd" type="hidden" value="_xclick" />
        <input name="no_note" type="hidden" value="1" />
        <input name="lc" type="hidden" value="UK" />
        <input name="currency_code" type="hidden" value="USD" />
        <input name="bn" type="hidden" value="PP-BuyNowBF:btn_buynow_LG.gif:NonHostedGuest" />
       <div class="price-bottom-box">
       <!--<input type="text" name="item_name" id="item_name"value="20,000 PINS" hidden="true"/>-->
        <select name="amount" id="amount" style="width:256px; height:32px;">
            <option value="18" id="1">10,000 PINS - $18 </option>
            <option value="35" id="2">20,000 PINS - $35</option>
            <option value="75" id="3">30,000 PINS - $75</option>
            <option value="140" id="4">50,000 PINS - $140</option>
            </select>
    <input type = "image" value = "submtbtn" name = "submtbtn"  src="images/buy-now-normal-bg.jpg" id="Image1">
</form>
4

1 に答える 1

2

: 最初に何かを理解していることを確認しないのは非倫理的だと思います: 「shop_paypal.php」に任意の金額を送信することは非常に可能です。「金額」として送信された値を信頼しないでください。item_name (またはより適切な item_id) として渡された値を使用し、要求されたアイテムに対応する値を検索する必要があります。

一見UNSECUREな方法でそれを行う方法:

コードを次のように置き換えます。

<!--<input type="text" name="item_name" id="item_name"value="20,000 PINS" hidden="true"/>-->
<select name="amount" id="amount" style="width:256px; height:32px;">
     <option value="18" id="1">10,000 PINS - $18 </option>
     <option value="35" id="2">20,000 PINS - $35</option>
     <option value="75" id="3">30,000 PINS - $75</option>
     <option value="140" id="4">50,000 PINS - $140</option>
     </select>

これとともに:

<select id="item_name" name="item_name" style="width:256px; height:32px;"></select>
<input id="amount" name="amount" type="hidden" value=""/>
<script>
  var items = [
      { name: "10,000 PINS", amount: 18 },
      { name: "20,000 PINS", amount: 35 },
      { name: "30,000 PINS", amount: 75 },
      { name: "50,000 PINS", amount: 140 }
  ];
  var itemNameElement = document.getElementById("item_name");

  itemNameElement.onchange = (function(){
      var amount = items[this.selectedIndex].amount;
      document.getElementById("amount").value = amount;
  }).bind(itemNameElement);

  document.getElementById("amount").value = items[0].amount;
  for(var i=0; i<items.length; i++){
      var item = document.createElement("option");
      item.value = items[i].name;
      item.text = items[i].name+" - $"+items[i].amount;

      itemNameElement.add(item);
  }
</script>
于 2013-07-26T22:00:57.457 に答える