#author("2017-09-11T22:11:05+09:00","","")
#author("2017-09-11T22:11:32+09:00;2017-09-11T22:11:05+09:00","","")
* commentプラグインでコメント記入後の、アドレスバーに表示されるアドレスが正しくない [#s4b5c091]

- ページ: [[BugTrack2]]
- ページ: [[BugTrack]]
- 投稿者: [[ぃぉぃぉ]]
- 優先順位: 低
- 状態: 提案
- 状態: 完了
- カテゴリー: プラグイン
- 投稿日: 2007-05-24 (木) 20:06:47
- バージョン: 1.4.7
- リリース予定バージョン: 1.5.2

**現象 [#m2e3eab9]
commentプラグインでコメント記入後、アドレスバーに表示されるアドレスが正しくありません。ページ名が表示されず、index.phpとなります。&br;
**対策案1 [#y6d8ff5d]
function plugin_comment_convert()の一行を修正。これだけでよかったのですね。
 -	$script = get_script_uri();
	$s_page = htmlspecialchars($vars['page']);
 +	$script = get_script_uri() . '?' . $s_page;
修正による動作の違いは特にありません。

**対策案2 [#r184daf0]
記入時に「~を更新しました」や、「更新の衝突を検知しました」といったメッセージが表示されなくなります。

function plugin_comment_action()の最後の部分を
 	page_write($vars['refer'], $postdata);
 +	pkwk_headers_sent();
 +	header('Location: ' . get_script_uri() . '?' . rawurlencode($vars['refer']));
 +	exit;
 
 -	$retvars['msg']  = $title;
 -	$retvars['body'] = $body;
 
 -	$vars['page'] = $vars['refer'];
 
 -	return $retvars;
 }
としたら良いのでは。
***メリット [#sdba5f2f]
-コメント書き込み後、アドレスバーに正しいアドレスが表示されるようになる。
-コメント書き込み後、F5キーで更新したりしたときに、同じメッセージが再度書かれることが無くなる。
***デメリット [#o46595cf]
-書き込み後、再度ページを読み直すので、サーバーの処理量、通信量が増える。(通信量といってもページリクエスト分だけかな。)

**最初に投稿した間違った情報 [#q04f6df8]
function plugin_comment_action()のreturn $retvars;の前に
 header('Location: ' . get_script_uri() . '?' . rawurlencode($vars['page']));
を入れてはいかがでしょうか。

headerについてよく分かっていないので、これでよいか自信なし^^;
--------
- 他のプラグインを見たり、Webを調べたりして、header()の使い方がわかってきたので修正。 -- [[ぃぉぃぉ]] &new{2007-06-26 (火) 02:50:16};
-- 衝突が起こった場合衝突メッセージを出したりするので、衝突などがなく正しく更新された場合 header で飛ばす、としないといけないと思われます --  &new{2007-06-26 (火) 05:47:17};
- 確かに、更新メッセージとかも出なくなりますね。個人的には書き込んだ後F5で更新して、新しいメッセージが読みたかったりするので、それも有りかな、とも。ま、仕様が変わっちゃいますね。 -- [[ぃぉぃぉ]] &new{2007-06-26 (火) 12:26:15};
- 私の周りでもよく問題になっていました(コメント入力後、ページURLのつもりでトップページのURLをコピーしてしまう)。対策案1 を実装しました commit:e90ad60c89 -- [[umorigu]] &new{2017-09-11 (月) 22:11:05};

#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.147 sec.

SourceForge