単語検索をGETにしてはどうか

  • ページ: BugTrack
  • 投稿者: マスタング?
  • 優先順位: 普通
  • 状態: 完了
  • カテゴリー: 本体新機能
  • 投稿日: 2004-04-13 (火) 15:13:27
  • バージョン: 1.4.3
  • リリース予定バージョン: 1.5.2

メッセージ

検索結果リストのページから検索結果のリンク先に飛んで「IEの戻る」で戻ってくると「情報の再送信」の画面になる。わざわざ再送信するのが面倒なのでGETにするとよくないですか? ↓こんな風に&word=でくっつけるようにします。

http://pukiwiki.sourceforge.jp/dev/index?cmd=search&word=%C3%B1%B8%EC%B8%A1%BA%F7

参考


検索結果のキャッシュを有効にする場合

  • GETにするのに反対という訳ではないですが、単に、再ポストするのが面倒というだけであれば、検索結果画面のみキャッシュを有効にするという手もあります。 skin/pukiwiki.skin.ja.php に以下のパッチを当ててみてください。 -- 三浦克介 2004-04-13 (火) 19:08:45
      // $Id: pukiwiki.skin.ja.php,v 1.32 2004/04/03 15:56:08 arino Exp $
      //
      if (!defined('DATA_DIR')) { exit; }
    ! if (!$vars['cmd']=='search' || empty($vars['word'])) {
    ! 	header('Cache-control: no-cache');
    ! 	header('Pragma: no-cache');
    ! }
      header('Content-Type: text/html; charset=EUC-JP');
      echo '<?xml version="1.0" encoding="EUC-JP"?>';
      ?>
    但し、当然キャッシュが効いちゃいますので、誰かがページを変更しても、その結果が検索結果に反映されないなど、問題があります。それと、キャッシュのコントロールに関しては、ブラウザによって挙動が違います。手許にある、Mozilla 1.6 (Solaris), Mozilla Firebird 0.7 (Solaris), Opera 7.23 (Solaris) で試してみましたが、いずれも、標準の PukiWiki で、Postデータの再送信ダイアログは表示されません。IE (Win) のみ表示されます。
  • 1.4.5 以降なら、pukiwiki.skin.php を改造。
      // Output
     
      // HTTP headers
      pkwk_common_headers();
    ! if (! arg_check('search') || empty($vars['word'])) {
    ! 	header('Cache-control: no-cache');
    ! 	header('Pragma: no-cache');
    ! }
      header('Content-Type: text/html; charset=' . CONTENT_CHARSET);
      
      // HTML DTD, <html>, and receive content-type
      if (isset($pkwk_dtd)) {
    これは、1.4.7 の例なので、他のバージョンだとコメント部分などの構成が多少違うかもしれません。 -- 2009-09-12 (土) 16:06:22

検索フォームのデータをGETメソッドへ送る場合

$Id: pukiwiki.php,v 1.16.2.5 2003/03/08 13:33:44 panda Exp $

古い(1.3系)です。
no-cacheが見つからなかったもので。。。

<form action=\"$script?cmd=search\" method=\"get\">

GETにして、、

<input type=\"hidden\" name=\"cmd\" value=\"search\" />

cmd="search"を追加しました。 再送信ダイアログは出なくなりました。 GET方式だとリンクやお気に入りに追加が可能ですね。

  • 私もGETにするのに賛成です。検索の場合には、POSTのメリットはないと思うし、URLが一意に伝えられるGETをデフォルトにしませんか? -- masao 2004-04-22 (木) 17:49:59
  • 検索して、一覧から見つけたページを見に行って、内容が探しているものと違う場合、ブラウザ(当方IE利用)の「戻る」で戻ると検索結果が消えてしまうので、現状では非常に不便です。自分の場合、検索結果一覧からわざわざ別ウインドウで各ページを開いていきます。是非対処して欲しいと思います。 -- 2004-07-28 (水) 11:16:19
  • 手元に,1.4rc4のPukiWikiがあって検索をみた所,POSTなのにキャッシュされていました.1.4.2では,IEで確かにキャッシュが残りませんね.
    # ソース追ったけど理由は分かりませんでした. -- Zolgear? 2004-07-28 (水) 13:15:10
  • 「GETにして」~これはsearch.inc.phpの内容でしょうか。1.4.3を利用しています。 -- mame? 2004-09-17 (金) 21:21:20
  • 1.4.5_1を使っていますが、GETができないです。ヘルプのsearchにはできそうな説明ですが。 -- higashi? 2005-06-15 (水) 07:35:36
    • こちらの環境では問題なくできているようです。ちなみに searchプラグインの中の PLUGIN_SEARCH_DISABLE_GET_ACCESS は、検索単語を GETメソッドで受け付けるかどうかの設定であって、searchプラグインが GET で動作するようになるフラグでは無いようです。GETの動作にするためには、このフラグの設定に加えて、73行目付近の form の method を getにしてあげる必要があるかと思います。 -- teanan 2005-06-15 (水) 11:11:35
      - <form action="$script?cmd=search" method="post">
      + <form action="$script?cmd=search" method="get">
    • searchプラグインの設定を書き換えないとGETは動かないのですか?わかりました -- higashi? 2005-06-15 (水) 13:34:15
  • 本家で尋ねても無視されるので伺います。1.4.7の場合、skin/pukiwiki.skin.ja.phpという書類がないのですが、どうするとgetに出来るでしょうか? -- 2007-05-26 (土) 09:28:49
    • pukiwiki.skin.php -- 2007-05-26 (土) 10:16:37
    • pukiwiki.skin.phpでしたか!ありがとうございます。 -- 2007-05-26 (土) 11:43:16
  • 関連: BugTrack/796 GETメソッドを利用した検索機能の実行を可能に -- 2008-04-17 (木) 00:07:02
  • BugTrack/692で実装した詳細検索(search2)ではmethodがGETになっています。 Status:完了 とします -- umorigu 2017-10-24 (火) 23:31:45


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-10-24 (火) 23:32:32
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.215 sec.

OSDN