如何将item_name的值传递给Paypal页面?

时间:2013-07-26 20:02:33

标签: php javascript paypal

我有一个网页,其产品需要购买PayPal。 我使用了一个选择框来获得该产品的各种选项。

虽然我已经成功集成了paypal,并且html页面正在向paypal页面传递“金额”。 我无法做的是将对应于所选选项的“item_name”传递给paypal页面。

非常感谢任何帮助,提前致谢。

    <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>

1 个答案:

答案 0 :(得分:2)

注意:我认为不确定您是否先了解某些内容是不道德的:很有可能发送'shop_paypal.php' ANY AMOUNT 值。请不要相信作为'金额'发送的价值。您应该使用作为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>