*単語検索をGETにしてはどうか [#v5053af5] -ページ: BugTrack -投稿者: [[マスタング]] -優先順位: 普通 -状態: 提案 -カテゴリー: 本体新機能 -投稿日: 2004-04-13 (火) 15:13:27 -バージョン: **メッセージ [#n26b5665] 検索結果リストのページから検索結果のリンク先に飛んで「IEの戻る」で戻ってくると「情報の再送信」の画面になる。わざわざ再送信するのが面倒なのでGETにするとよくないですか? ↓こんな風に&word=でくっつけるようにします。 http://pukiwiki.sourceforge.jp/dev/index?cmd=search&word=%C3%B1%B8%EC%B8%A1%BA%F7 ---- ***参考 [#af0e94d8] -ここから着ました↓~ [[official:続・質問箱/123]] -[[teanan:自作プラグイン/search.inc.php(改)]] ---- #contents ***検索結果のキャッシュを有効にする場合 [#gec80dbe] -GETにするのに反対という訳ではないですが、単に、再ポストするのが面倒というだけであれば、検索結果画面のみキャッシュを有効にするという手もあります。 skin/pukiwiki.skin.ja.php に以下のパッチを当ててみてください。 -- [[三浦克介]] &new{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 の例なので、他のバージョンだとコメント部分などの構成が多少違うかもしれません。 -- &new{2009-09-12 (土) 16:06:22}; #comment ***検索フォームのデータをGETメソッドへ送る場合 [#v06b1e3c] $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]] &new{2004-04-22 (木) 17:49:59}; -検索して、一覧から見つけたページを見に行って、内容が探しているものと違う場合、ブラウザ(当方IE利用)の「戻る」で戻ると検索結果が消えてしまうので、現状では非常に不便です。自分の場合、検索結果一覧からわざわざ別ウインドウで各ページを開いていきます。是非対処して欲しいと思います。 -- &new{2004-07-28 (水) 11:16:19}; -手元に,1.4rc4のPukiWikiがあって検索をみた所,POSTなのにキャッシュされていました.1.4.2では,IEで確かにキャッシュが残りませんね.&br;# ソース追ったけど理由は分かりませんでした. -- [[Zolgear]] &new{2004-07-28 (水) 13:15:10}; -- [[BugTrack/413]], [[BugTrack/486]] -- &new{2009-10-03 (土) 16:20:31}; -「GETにして」~これはsearch.inc.phpの内容でしょうか。1.4.3を利用しています。 -- [[mame]] &new{2004-09-17 (金) 21:21:20}; -1.4.5_1を使っていますが、GETができないです。ヘルプのsearchにはできそうな説明ですが。 -- [[higashi]] &new{2005-06-15 (水) 07:35:36}; --こちらの環境では問題なくできているようです。ちなみに searchプラグインの中の PLUGIN_SEARCH_DISABLE_GET_ACCESS は、検索単語を GETメソッドで受け付けるかどうかの設定であって、searchプラグインが GET で動作するようになるフラグでは無いようです。GETの動作にするためには、このフラグの設定に加えて、73行目付近の form の method を getにしてあげる必要があるかと思います。 -- [[teanan]] &new{2005-06-15 (水) 11:11:35}; - <form action="$script?cmd=search" method="post"> + <form action="$script?cmd=search" method="get"> --searchプラグインの設定を書き換えないとGETは動かないのですか?わかりました -- [[higashi]] &new{2005-06-15 (水) 13:34:15}; - 本家で尋ねても無視されるので伺います。1.4.7の場合、skin/pukiwiki.skin.ja.phpという書類がないのですが、どうするとgetに出来るでしょうか? -- &new{2007-05-26 (土) 09:28:49}; -- pukiwiki.skin.php -- &new{2007-05-26 (土) 10:16:37}; -- pukiwiki.skin.phpでしたか!ありがとうございます。 -- &new{2007-05-26 (土) 11:43:16}; - 関連: [[BugTrack/796]] GETメソッドを利用した検索機能の実行を可能に -- &new{2008-04-17 (木) 00:07:02}; #comment