検索結果のGetパラメータが残る?

このQ&Aのポイント
  • キーワード検索をしている際に、ページ分割して表示させた検索結果のGetパラメータが残ってしまう問題についてアドバイスを求めます。
  • 検索フォームと検索結果のページが同じで、ページ分割をしている場合に、前回の検索結果のページ番号のGetパラメータが残ってしまいます。
  • デバッグやキャッシュ対応を試みましたが、問題の解決には至りません。暫定的な対応として、検索フォームと検索結果の表示を別ページにしています。
回答を見る
  • ベストアンサー

検索結果のGetパラメータが残る?

検索結果のGetパラメータが残る? テキストベースのファイルからキーワード検索をさせているのですが、検索結果をページ分割(次の10件とか)して結果表示させたときに、 例として 「猫」+「白」のキーワード検索した場合に 10ページ分の検索結果があり、検索結果を10ページまで表示させた後に 「猫」+「黒」の再検索で結果結果が5ページまで見つかったのにもかかわらず、 「猫」+「白」で検索し表示したページ番号の10ページが残ってしまい検索結果としてはTrueですが、 ページ番号10ページのGetパラメータが残ってしまいます。 検索フォームと検索結果のページはPHPで同じページに表示するようにしていますが、 <input type="submit" value="データ検索"> の送信ボタンの上でマウスを乗せた時にGetパラメータとして「ページ10」が残っています。 スクリプト内ではフォーム内は $_SERVER['SCRIPT_NAME']; で実行しています。 このような問題の経験があるかたがいらっしゃいましたらアドバイス願います。 いろいろとデバッグして変数の初期化ブラウザのキャッシュ対応(Metaやキャッシュヘッダーなどで解除)したりしてますが解決方法が見出せません。 暫定的な対応としては、検索フォームと検索結果の表示を別ページにして検索は検索、結果は結果といった対応をしています。 よろしくお願いします。

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

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

キャッシュはHTMLの内容のキャッシュとかなのでGETパラメータが残ることはありません。 $_SERVER['SCRIPT_NAME']もスクリプトの名称で、パラメータまでは引き継がない。 検索のformに、hiddenタグでページ番号引き継ぐようにしてしまってたりしてませんか。

関連するQ&A

  • GETで「?」無しでパラメータの渡し方について

    ふと疑問に思いご存じの方がいらっしゃいましたらご教示下さい。 Aのページから検索を掛けてBのページでその結果を表示するという PHPスクリプトを書こうと思っています。 通常であれば、Aのページでmethod="GET"にして、「B.php?search=パラメータ」のように 次のページヘパラメータを渡してあげれば当然問題なく行けると思いますが、 このとき、ファイル名の後ろに付ける「?」を省略させて何らかの方法で動くようにする事は できないものなのでしょうか? 例えばBのファイルを「index.php」という名前にしておいて、「search」ディレクトリの 直下において「search/パラメータ」といった具合です。 「search/?パラメータ」で動作できる事は確認しました。 解決方法に付いてお分かりの方いらっしゃいましたら、ご教示のほどよろしくお願い致します。

    • ベストアンサー
    • PHP
  • POSTで表示される検索フォームの結果の取得

    こんばんは。 とある外部サイトのサイト内検索スクリプトの検索結果を 取得しようといろいろと努力しているのですが、うまくいきません。 具体的には、そのサイトの検索スクリプトにフォームから MethodをPOSTにしてキーワードを送信すると、その結果が表示されるというものです。 しかし、その表示された結果を自分のサイトのPHPスクリプト から取得しようとしているのですが、何をしても叶いませんでした。 その検索スクリプトがGETメソッドで処理してくれるなら、 $keywords = "Search text"; file_get_contents("http://example.com/search.php?s=".$keywords); こんな感じで取得できると思うんです。 PHP初心者なので何を言っているのか分からないかもしれませんけど よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPのGETパラメーターの検索値の変更

    電話番号のデータ検索で、ハイフンが入っていたり、入っていなかったりして、検索の値を、Getパラメーターで取得したデータの「-」ハイフンを抜いて検索の値に格納したいのですが、$_GET['tel']をstr_replaceしても、「-」でexplode後、implodeしてもデータ検索にひっかかりません。 $_GET['tel']のデータ変換を行う方法ありましたら教えて下さい。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • 検索結果の改善

    [使用環境] OFFICE PROFESSONAL 2007 [やっていること(データベースの検索)] マスターフォームに配置したコマンドボタンで検索結果フォームを開いています。 [やり方(検索の仕方)] クエリ「テーブル参照」のフィールドに式「Like "*" & [ ◯◯検索 ] & "*"」を設定し、関連付けた検索結果フォームで開きます。 [感じている不具合] 式「Like "*" & [ ◯◯検索 ] & "*"」をOR条件(2フィールド)にした場合、1つの目のパラメーターウインドのみ入力して、2つ目のパラメーターウインドに入力しない時、検索結果フォームに全レコードが表示されます。 [改善したいこと] 1つの目のパラメーターウインドのみ入力した場合、入力エラー「全てのパラメーターウインドに入力して下さい」とかのメッセージを表示できませんでしょうか。「その他、類似な改善方法がありましたらご指導下さい」 [改善したい背景] 使用する人が不特定「2ヶ月に一度は初めて使う人がいる」でもあり使用者本人が目視で確認「再操作行動」が取れるようにしたい。 以上ですが、宜しくお願いします。

  • 検索結果のハイライト表示

    はじめまして。sakotecといいます。ほぼASP初心者です。宜しくお願い致します。 ある社内イントラネットで、アクセスのデータベースをASPを使って、ユーザが指定した条件で検索し、結果を表示するというとてもオーソドックスなシステムを作ってます。 そこで、ユーザが指定したキーワードをSQL文のLIKEを用いて検索しているのですが、検索結果の見栄えをよくしたく、そのキーワードを検索結果内でハイライト表示をしたいと思ってます。処理速度も速く、簡単な方法はないでしょうか?VBSでなくてもいいです。 イメージ的にはGoogleのキャッシュのページ見たいな感時です。 どうかよろしくお願いします。

  • グーグル検索結果に表示されたり表示されなかったり

    私が作成したWebサイトなのですが、スマートフォンからキーワード入力してグーグル検索結果を見ると表示されたり表示されなかったりします。 30分前は検索結果の一覧に表示されていたのに、30分くらいたってからキーワード入力して検索結果をみると、どこにも(10ページ目以降にするも)表示されておりません。 ちなみに、パソコンからの検索結果には、常に表示されております。 パソコンでもスマートフォン(表示されている時)の検索結果の順位は2ページ目の真ん中あたりです。 スマートフォンサイトについては、スマホ対応も行っております。 何かわかるかたがおりましたら、教えて頂けないでしょうか?

    • ベストアンサー
    • HTML
  • 複数の検索エンジンの結果を一つのページに表示するようなサイトを作りたい

    複数の検索エンジンの結果を一つのページに表示するようなサイトを作りたいのですが、どうすればよいでしょうか? 何かそれに関する情報というか、そんなのが掲載されているサイト等、ご存知の方がもしいれば教えてください。 例えば、フォームからキーワード検索ボタンを押したら、そのページに、yahooとgoogleの検索結果が表示されるような、イメージです。

    • ベストアンサー
    • PHP
  • 検索結果中のキーワードを色を付けて表示する。

    お世話になります。 MS-Access と ASP を連携させ、入力フォームからキーワードを入力し、データベース内を検索できるWebサイトを作ろうとしています。 検索結果を表示する際に、検索キーワードだけ、色をつけて(例えば、赤色で)表示したいと考えていますが、その方法が分かりません。 方法、または、参考になるページをご存知でしたら、教えてください。 よろしくお願いします。

  • クエリ「パラメータ」検索結果を単票と一覧で表示II

    [使用ツール]ACCESS2007 [データベースの構成] テーブル名:情報データベース 単票フォーム名:情報フォーム 一覧フォーム名:情報一覧フォーム クエリ名:情報クエリ=「抽出条件」欄のパラメーター「Like "*" & [情報検索] & "*"」 [やりたいこと] 情報クエリ「パラメーター」の検索結果を単票「単票フォーム」と「一覧フォーム」を使い分けて閲覧効率を上げたい。 [考えたこと、やってみたこと] ケース1:検索結果5レコード以下「単票フォーム」、5レコード以上「一覧フォーム」で開く。 ケース2:埋め込みマクロで「単票フォーム」「一覧フォーム」の両方同時に開き「一覧フォーム」は最小化させる。「単票フォーム」を閉じると「一覧フォーム」が開く。 [確認できた課題] ケース1:多少の理解が可能な「埋め込みマクロ」で考えたが、スキル不足で試作にも入れず。 ケース2:「単票フォーム」「帳票フォーム」を同時に開いた時点で、両方の「パラメータダイアログ」が表示され、入力しないと「帳票フォーム」は最小化されない問題を解決できない。 (現状のスキルでは「単票フォーム」にコマンドボタンを配し、コマンドボタンで「帳票フォーム」を開いて検索を行う方法になり、操作「手間」を考えると結果的に非効率である。) [わかったこと] ケース1の方が設定後に「レコード数」の希望数値に変更することで調整が可能であり、設定全体を大きく変更することもないのでスキルが低くても使い続けられる。 【追 伸】 アドバイスをお願いするに当たり、スキル(質問者として)を知って頂くことが必要だと改めて感じて居ります。その為には情報をお伝えする以外にないと思いました「面倒だから聞いて居ると思われない為にも!」。今回、以下の内容で最初に質問させていただきましたが、「実現の可否も想像すらできておりませんでしたので、一旦、実現に向けて再度考えてみて質問IIとしました。(短絡的に取り下げたのではなく、実現の可否判断ができない為)」 [やりたいこと] 情報クエリ「パラメーター」の検索結果を単票「情報フォーム」で表示させていますが、レコード数が多い場合に一覧表示「情報一覧フォーム」させたいと考えています。 [希望の動作] 検索結果を単票「情報フォーム」で表示の後、レコード数の多い場合に情報フォームに配した「コマンドボタン」をクリックすることで、単票での検索済結果を「情報一覧フォーム」へ一覧表示させたい。 宜しく、お願いします。

  • ヤフー検索結果に同じサイトが出てしまうんですが・・・

    自分のサイトがヤフーで検索すると同じ名前で2つ出てきました。 キャッシュを見ると1つは表示できませんと出ます。 どういうことなんでしょうか? また、今まで上位に表示されていたキーワードで検索すると、 最近は検索結果に表示されなくなってしまったんですけど、なにか 関係があるのでしょうか? どうすれば2つではなく1つだけ表示させることができるのでしょうか? 初心者ですのでわかりやすく教えてほしいです。 よろしくお願いします。

専門家に質問してみよう