#author("2017-10-24T23:31:45+09:00","","")
#author("2017-10-24T23:32:32+09:00","","")
*単語検索をGETにしてはどうか [#v5053af5]

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

**メッセージ [#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};
- [[BugTrack/692]]で実装した詳細検索(search2)ではmethodがGETになっています。 Status:完了 とします -- [[umorigu]] &new{2017-10-24 (火) 23:31:45};

#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.417 sec.

SourceForge