• 締切済み

リクエスト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を確認しても空白などありません。 でも、データは問題なく表示されています。 原因が全然わかりません。なぜ空白ができるのでしょうか? よろしくお願いいたします。

  • PHP
  • 回答数1
  • ありがとう数0

みんなの回答

  • 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

  • アプリケーションのURLについて。

    こんXXわ。 今アプリケーション構築中なのですが、非常に困っています。ご教授願います。 ・Apache+Tomcatでアプリケーションを開発しました。このアプリケーションの起動URLが、 「http://www.xxx.com/app/start.jsp」 だった場合にアドレスバーやリンク元からは 「http://www.xxx.com/」 でアクセスしたときにstart.jspを表示できるようにしたいのです。このときユーザーのアドレスバーにはあくまで「http://www.xxx.com/」と表示され、「app/start.jsp」が出ないことが必要です。 httpd.confやserver.xml,web.xmlをいろいろやってみているのですがうまく行きません。現場で困っています。どなたか、お助けください。

  • phpパスについて

    パスについて質問ですが、path/dog.php(ファイル名)/のリクエストurlを組みたい場合、下記のようにして大丈夫なのでしょうか? $pathは共通ですので、同じ変数で大丈夫なのですが、dog.phpをcat.phpなどにいろいろ変えて使いたい場合はどのようにしたらいいのでしょうか? $path=xxxx/xxxx/animal/ <?php $url=$path."dog.php"."?keyword=" . $keyword."&genre=".$genre."&sort=".$sort;?>

    • 締切済み
    • PHP
  • キーワードの再検索で

    index.phpからキーワードを書きだし、search.phpで$_GETで受け取り→エンコード→ リクエストURLまでセットし、表示されるまでは問題ないのですが、ソート順を変更した際にリクエストURLに2回、キーワードが入ってしまいます。ブラウザのアドレスバーをみると、エンコードされた値(%e3%81%bf%e3%81%8b%e3%82%93(みかんみかん)と言う感じにが2回入ってしまいます。それを、ソートを変更しても、キーワードを1回だけ入れるには、どのようにしたらいいのでしょうか? [index.php] <p><a href="search.php?keyword=みかん&sort=standard">みかん</a></p> [search.php] <?php $base = 'http://xxx.xxxxxx.co.jp/xxx/xxx'; $keyword =$_GET["keyword"]; $keyword = urlencode($keyword); $sort = $_GET["sort"]; $sort = urlencode($sort); // リクエストURL $url = $base ."&keyword=".$keyword."&sort=".$sort. ; ?> 表示順序 <form action="<?=$_SERVER["PHP_SELF"]?>" method="get"> </select> <input type="hidden" name="keyword" value="<?php print(htmlspecialchars($keyword, ENT_QUOTES)); ?>"> <select name="sort"> <option value="satandard">新着</option> <option value="itemPrice">安い</option> <input type="submit" value="検索"> </select> よろしくお願いいたします。

    • 締切済み
    • PHP
  • エクセルでの範囲内からの検索方法

    エクセルでデータを取得する方法がわからずに困ってます。 やりたいことは以下です。 ・コマンドログがある範囲ないにコピペされている。(フォーマットはなし、並びはばらばら) ・ログの行数は不定(H列がコピペ場所) ・エクセルの関数のみを使ってセル内のデータを取得する。 ・A列にキーワードが記載。(キーワードは、ログ内一意、セル全体一致でなく、一部) ・A列のキーワードを検索し、キーワードが含まれているセルのデータをB列に表示させたい。 上記を、エクセルの関数のみを使って表示させたいのですが、可能でしょうか。 以下は、例です。 B列に入れる関数を知りたいです。 A列  B列                   ・・・    H列 Key1 2013-10-25 Command OK Key1        2013-10-23 login from xxx.xx.xx.xxx Key2 alart from Key2 in file_xxxxx.log         2013-10-23 login from xxx.xx.xx.xxx Key3 PCNO1111がダウンしました。(Key3)    2013-10-24 ログアウトしました。(○○) :                              2013-10-25 login from xxx.xx.xx.xxx                                2013-10-25 login from xxx.xx.xx.xxx                                2013-10-25 login from xxx.xx.xx.xxx                                2013-10-25 Command OK Key1 in PCNO35564-W-ST                                2013-10-25 login from xxx.xx.xx.xxx                                [SYSTEM ALART!!!] alart from Key2 in file_xxxxx.log                                2013-10-25 login from xxx.xx.xx.xxx                                2013-10-25 電源ON TYEPーA                                2013-10-25 login from xxx.xx.xx.xxx                                シャットダウンされます。2013-10-25 23:00:00

  • PHP apiのソート順について質問

    menu.phpでキーワード(りんご)で書き出した後は、問題なく りんご(ソート順:スタンダード)が表示されるのですが、さらに、search.phpでソート順を変えて検索するとソート順はリクエストURLに反映されるのですが、キーワード’(りんご)がリクエストURLに入りません。 search.phpでmenu.phpのキーワード(りんご)繰り返しし使うにはどのようにしたら、いいのでしょうか? [menu.php] <p><a href="search.php?word=りんご&sort=standard">りんご</a></p> [search.php] <?php $base = 'http://xxx.xxxxxx.co.jp/xxx/xxx'; $word =$_GET["word"]; $keyword = urlencode($word); $sort = $_GET["sort"]; $sort = urlencode($sort); // リクエストURL $url = $base ."&keyword=".$keyword."&sort=".$sort. ; ?> 表示順序 <select name="sort"> <option value="satandard">新着順</option> <option value="itemPrice">価格の安い順</option> <option value="-itemPrice">価格の高い順</option> <input type="submit" value="検索"> </select> よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHP ソートについて

    以前も、似たような質問をしたのですが少し内容が違いますのでよろしくお願いいたします。 このページ内で、ゲットしたキーワードを再ソートすると、2回エンコードされてしまいます。続けてまた、ソートすると、エンコードされた値がまたエンコードされてしまいます。、始めにゲットした値を1回だけエンコードし、ソートを変えても1回目のエンコードされた値を使うにはどのようにしたらよいのでしょうか? $base = 'http://xxx.xxxxxx.co.jp/xxx/xxx'; $keyword =$_GET["keyword"]; $keyword = urlencode($keyword); $sort = $_GET["sort"]; $sort = urlencode($sort); $url = $base ."&keyword=".$keyword."&sort=".$sort. ; <form action="<?=$_SERVER["SCRIPT_NAME"] ?>" method="get"> <input type="hidden" name="keyword" value="<?php print(htmlspecialchars($keyword, ENT_QUOTES)); ?>"> 表示順序 <select name="sort"> <option value="satandard">新着順</option> <option value="Price">安い順</option> <option value="-Price">高い順</option> <input type="submit" value="検索"> </select> </form>

    • ベストアンサー
    • PHP
  • 予測したくない

    Google Chrome バージョン: 85.0.4183.102(Official Build) (64 ビット) をつかっています。 この予測変換をされないようにしたいのですが どうすれば良いでしょうか? https://dime.jp/genre/694589/ を見たのですが 「 詳細設定画面が開けたら「予測サービスを使用してアドレスバーに入力した検索と URL を補完する」」 が見当たりません。

  • TeraTermマクロでssh認証画面で反応なし

    サーバーへ自動ログインするために、次のようなTeraTermマクロを作成し、 pcのコマンドプロンプトでバッチファイルを実行しました。 ・TeraTermマクロ:teracon.ttl  connect 'xx.xx.xx.xx /ssh /2 /auth=xxxxx /user=yyyyy /passwd=zzzzz' ・TeraTermマクロ実行用バッチファイル  @echo on  "C:Program File\teraterm\ttpmacro.exe" "%~dp0teracon.ttl" このマクロを実行したところ、数名が正常にログインできませんでした。 状況としてはssh認証画面で止まったままになり、OKボタンは反応せず、 接続断ボタンは反応します。 ただし、このマクロを使用した全員とも、手動ではTeraTermを起動し、 サーバーへログインできております。 また、ssh認証画面で止まった人の/var/log/secureのログは次のとおりで、 session opened for user xxx by (uid=0)になっており、ssh認証は正常に 実行されているように見えます。 省略 localhost sshd[4257]: Accepted password for xxx from xx.xx.xx.xx port 2534 ssh2 省略 localhost sshd[4257]: pam_unix(sshd:session): session opened for user xxx by (uid=0) ※:TeraTermのバージョンは4.74です。 以上のことからサーバー側には、問題はないように見えます。 マクロおよびPC側に何か原因があるように思われます。 どなたか対処方法をご存知でしたら、教えてください。 よろしくお願いします。

  • 個人HPの検索ヒットについて

    個人HPの検索ヒットについて教えて下さい。 YBBに加入しており、Yahoo!ジオシティーズ (http://www.geocities.jp/xxxxx)に 個人HPを最近UPしました。 友人にHPのありかを伝えたり、一般の方に見ていただきたいのですが、 わざわざ細かなURLを説明するよりは、Yahoo、goo、googleなどの検索で ヒットできることが一番よいと考えております。 ここで教えていただきたいのですが、ホームページ(index.html)にて <meta name="keywords" content="xxx1,xxx2,xxx3,xxx・・・"> などキーワード(xxx*)を入れておけばよいと思いますが、 フォーマット的に誤りはありませんでしょうか? また、実際 Yahoo、goo、googleなどの検索でヒットできるのでしょうか?

  • PCからのrshについて

    パソコンから、linuxマシンにrshについてです。 現在、パソコンのコマンドラインより、 > rsh サーバ名 -l ログイン名 コマンド で、コマンドを実行しています。 このとき、サーバのログインユーザの.rhostsには、 パソコンのIPアドレス パソコンのユーザ名 を記述しています。 これを、 複数のIPアドレス(DHCP対応)で複数ユーザでrsh出来るように実行したいのですが、 例)1 パソコンのIPアドレス + 例)2 + + の+の記述では、 サーバ名: Permission denied. rsh: can't establish connection とはじかれてしまいます。 うまく複数のIPアドレス、ユーザ名で対応させるにはどうしたらよいでしょうか? はじかれた時のmessages Nov 9 17:40:47 XXXXX rshd[19487]: rsh denied to Administrator@XX.XX.XXX.XXX as Administr ator: Permission denied. Nov 9 17:40:47 XXXXX snmpd[19113]: Connection from 127.0.0.1 REFUSED Nov 9 17:41:18 XXXXX last message repeated 16 times PCのOS windows XP LinuxのOS Redhat ES 4

専門家に質問してみよう