• 締切済み

リクエストurlの空白

$url =$BASE_URL."?op=".$OP."&version=".$VERSION."&keyword=".$keyword."&genre=".$genre."&sort=".$sort."&hits=" .$hit ; echo $url; 実行してリクエストurlをブラウザのアドレスバーにコピーすると、所々に、半角スペースが入ってしまい画面が白くなります。アドレスバーに入れる前までは空白もありません。コピーしアドレスバーに入れれば、空白がでます。 http://xxxxxxxxx.co.jp/xx/xx /? op=xxx&version=sss&keyword=ssss& genre=xxxxx&sort=xxxxx&hits=xx その状態で実行すると画面が白くなり、半角スペースの所に、%20 と表示されて実行さます。 http://xxxxxxxxx.co.jp/xx/xx /?%20op=xxx&version=sss&keyword=ssss&%20genre=xxxxx&sort=xxxxx&hits=xx リクエストurlを確認しても空白などありません。 でも、データは問題なく表示されています。 原因が全然わかりません。なぜ空白ができるのでしょうか? よろしくお願いいたします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>原因が全然わかりません。なぜ空白ができるのでしょうか? たとえば var_dump($keyword); みたいにして中身を確認してみてください string(5) "ssss " みたいに長さが半角スペース分おおくありませんか? 基本的にはtrimをしてやることで解決するとおもいますが、最悪 $url=str_replace(" ","",$url); でもいけるかもしれません。

a4orece
質問者

補足

ご返答ありがとうございます。 var_dump($keyword);で確認してみたところ string(30) "XXXXXXXX" となって、echo trim($url); と$url=str_replace(" ","",$url);でもダメでした。 補足ですが、 $keyword =$_GET['keyword']; $url =$BASE_URL."?op=".$OP."&version=".$VERSION."&keyword=".$keyword."&genre=".$genre."&sort=".$sort."&hits=" .$hit ; echo $url; としておりまして試しに $keyword =$_GET['keyword']; を削除してechoしてリクエストurlをブラウザのアドレスバーに入れた所、空白はなくなりました。受け渡し側の内容は、ハイパーリンクで受け渡すようにしております。(op,version,genre,hitは他の外部ファイルから受け取ってます) <?php $ful = $path."brand/brand.php?keyword=" . urlencode("りんご")."&sort=".standard;?> <a href="<?= $ful ?>">果物</a> 受け渡し側は関係しますでしょうか? ちなみに空白ができてもデータは取得されておりますが、やはりリクエストurlに空白があれば問題なのでしょうか? よろしくお願いいたします。

関連するQ&A

専門家に質問してみよう