1

Paypal チェックアウト ボタンを作成しようとしていますが、ボタンがエコー内にない場合は正常に機能しますが、動的に生成する必要があるためボタンをエコー内に配置すると、「paypal_items を参照する際に問題が発生します。 ();" これは、ユーザーがカートに入れているすべてのアイテムを追加するものです。ボタンは機能し、paypal の Web サイトにリダイレクトされますが、アイテムがないと表示されます (これは、paypal_items() に到達していないと思わせます。さまざまな構文を試しましたが、何もわかりません)さらにエコーの内側にあるフォームの内側にあるため、これが可能かどうか疑問に思っています。

cart() で行われることは他にもたくさんあります。不要に思えたので、ほとんどを消去しました。基本的には、カートに入っているもののセッション データを収集し、それをエコーし​​て購入者に表示します。

function paypal_items() { //this function takes the cart and organizes all the variables in a way that paypal can read it (this function is called on in the paypal send form)
$num = 0;
foreach($_SESSION as $name => $value) {
    if ($value!=0) {
        if(substr($name, 0, 5)=='cart_') {
            $id = substr ($name, 5, strlen($name)-5);
            $get = mysql_query ('SELECT id, name, price FROM products WHERE id='.mysql_real_escape_string((int)$id));
            while ($get_row = mysql_fetch_assoc ($get)) {
                $num++;
                echo '<input type="hidden" name="item_number_'.$num.'" value="'.$id.'">'; //This num and number from database listing is flip flopped.
                echo '<input type="hidden" name="item_name_'.$num.'" value="'.$get_row['name'].'">';
                echo '<input type="hidden" name="amount_'.$num.'" value="'.$get_row['price'].'">';
                echo '<input type="hidden" name="shipping_'.$num.'" value="'.$get_row['shipping'].'">'; //Cost of Shipping first item.
                echo '<input type="hidden" name="shipping2_'.$num.'" value="'.$get_row['shipping'].'">'; //Cost of shipping two or more items is applied (shipping is multiplied depending on quantity)
                echo '<input type="hidden" name="quantity_'.$num.'" value="'.$value.'">';
            }
        }
    }
} 

}

function cart() {
    if ($total = 0) {
           // Empty Cart Alert..
    }

    else {
        echo '<div class="checkoutBtn">'.'<p>
              <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
                 <input type="hidden" name="cmd" value="_cart">
                 <input type="hidden" name="upload" value="1">
                 <input type="hidden" name="business" value="blah@blahblah.com">
                 <?php paypal_items(); ?>
                 <input type="hidden" name="currency_code" value="USD">
                 <input type="hidden" name="amount" value="echo number_format($total, 2);">
                 <input type="image" src="images/cartPage/checkoutBtn.gif" width="247" height="54" name="submit" alt="Secure Checkout With PayPal!">
              </form>
            </p>;'.'</div>'.
    }
}
4

2 に答える 2

0

うーん <?php tags are on the wrong place.

これを試して:

     <?php
    function cart() {
if ($total = 0) {
          // Empty Cart Alert..
  }
else {
    echo '<div class="checkoutBtn">'.'<p>
          <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
             <input type="hidden" name="cmd" value="_cart">
             <input type="hidden" name="upload" value="1">
             <input type="hidden" name="business" value="blah@blahblah.com">
              paypal_items();
             <input type="hidden" name="currency_code" value="USD">
             <input type="hidden" name="amount" value="echo number_format($total, 2);">
             <input type="image" src="images/cartPage/checkoutBtn.gif" width="247" height="54" name="submit" alt="Secure Checkout With PayPal!">
          </form>
        </p>;'.'</div>'.
   }
}
?>
于 2013-06-27T08:38:47.063 に答える