1

これは非常に明白な質問のように聞こえますが、正しい答えを見つけようとしていますが、見つけることができません。簡単に行ってください私はphpの初心者です。

買い物かごから送信するコードは次のとおりです。

// Build the query string
$queryString  = "?cmd=_cart";
$queryString .= "&upload=1";
$queryString .= "&charset=utf-8";
$queryString .= "&currency_code=" . urlencode($config['currencyCode']);

foreach ($jcart->get_contents() as $item) {

    $queryString .= '&Description' .  '=' . urlencode($item['name']);
    $queryString .= '&Amount' .  '=' . urlencode($item['price']);
    $queryString .= '&Shipping' .  '=' . urlencode($item['del']);           

これにより、次のような URL が出力されます。

http://www.mysite.php?cmd=_cart&upload=1&charset=utf-8¤cy_code=GBP&Description=item1&Amount=419.00&Shipping=0.00&Description=Item2&Amount=354.00&Shipping=0.00

echo $Descriptionが得た場合:Item2

私は取得したい:

Item1, Item 2

どうすればこれを達成できますか?

どんな助けでも大歓迎です。

4

3 に答える 3

0

あなたがしていることは次と同じです:

 $value = 1;
 $value =2;

次の場合:

 echo $value;

明らかに値 2 が得られます。その理由はわかっているはずです。これは、URL に 2 つの説明があるためです。したがって、1 つの変数が他の変数をオーバーライドします。そのデータを配列に入れて、JSONに変換し(直接urlencodeできるかどうかはわかりません)、urlencodeして送信します。

そしてそれを反対側でデコードします。

私のポイントは「回避策を見つける」ことです

編集: urlencode された JSON オブジェクトの配列を送信します (配列を urlencode しようとしたことがないため、私の場合は JSON を使用します)。しかし、あなたがしていることの問題は、URLが最終的に長すぎることです. アイテムが 2 つしか入っていないのですが、何個入るのでしょうか。

于 2013-09-20T13:44:23.580 に答える
0

これは、同じ名前を使用することはできません。2 番目Descriptionは常に 1 番目をオーバーライドします。

Description22番目のもの、または保存している説明値を説明する名前を呼び出すだけです

于 2013-09-20T13:41:43.407 に答える