*vote.inc.phpなど:同一ページで連続投稿すると更新に失敗する
*vote.inc.phpなど:同一ページで連続投稿すると更新に失敗する [#nb4ab90d]

-ページ: BugTrack
-投稿者: [[ぱんだ]]
-優先順位: 普通
-状態: 完了
-カテゴリー: プラグイン
-投稿日: 2002-12-19 (木) 20:05:17
-バージョン: 

**メッセージ
**メッセージ [#n49bf972]
# voteを複数置いたページで、二つ目以降の#voteに投票した直後に、投票を連続して行おうとすると、投票結果が反映されなかったり、予期しない場所に票が追加されることがあります。

register_global=onの環境で発生します。

$post["vote_no"]が、plugin_vote_conevrt()でカウンタとして使用しているglobalな$vote_noを書き換えてしまうのが原因です。

多分、同一ページに複数設置できる仕掛けのプラグイン(article,%%comment,%%((comment.inc.phpはファイルの先頭で$ comment_noをグローバル宣言…))insert,memoなど)にも同様の問題が起こる可能性が…

$vote_noはplugin_vote_conevrt()内でしか使用しない変数なので、static((staticってPHPの古いのに実装されているんだろうか…))
$vote_noはplugin_vote_conevrt()内でしか使用しない変数なので、static((staticってPHPの古いのに実装されているんだろうか…))((staticはPHP3でも実装されていますよ。))
宣言して外部の影響を受けないようにしてみました。

----

#comment
//#comment


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.047 sec.

OSDN