1

implode を使用してクエリ文字列を作成していますが、予期しない記号が表示されており、それがどこから来ているのかわかりません

誰かが洞察を持っているなら、それは大歓迎です。

$url = "https://mypay.com/billing/signup.cgi";



$key = "11";
$key .= "11";
$key .= "GBP";
$key .= "QQDNfAHlC2WEEfhfhFFdhbdf";

$variables[] = "?formDigest=".md5($key);
$variables[] = "clientAccnum=1111";
$variables[] = "clientSubacc=1111";
$variables[] = "formName=108ck";
$variables[] = "formPrice=11";
$variables[] = "formPeriod=11";
$variables[] = "currencyCode=GBP";


$url .= implode("&", $variables);

echo $url;

ザ・ストリング

https://bill.ccbill.com/jpost/signup.cgi?formDigest=df03f2b103f79bd5de34c6cfea405ec5&clientAccnum=1111&clientSubacc=1111&formName=108ck&formPrice=11&formPeriod=11¤cyCode=GBP

¤currencyCode があるべき記号に注意してください。

助けてくれてありがとう!

4

2 に答える 2

4

implode正常に動作します。

ここでの問題は、HTML テキスト ( echo $url) を出力しているが、HTML の特殊文字を で適切にエンコードしていないことですhtmlspecialchars

ブラウザが部分文字列を見ると、&currencyCode=GBPあなたが意味していたに違いないと推測します¤Code=GBP¤は通貨記号のHTML エンティティなので、画面に表示されます。

コードを に変更して、echo htmlspecialchars($url)違いをすぐに確認してください。完全に正しい解を得るには、 の最初の 3 つの引数に注意して正しい値を与えてくださいhtmlspecialchars

于 2012-10-30T11:59:24.630 に答える
-1

¤」はそのように表示されます...変数名「currencyCode」を別のものに変更すると機能します

よろしく

スディープ

于 2012-10-30T12:03:35.997 に答える