• ベストアンサー

どっちが使われたか分かるように

投稿を削除した際に 管理者パスワードで削除されたのか それとも投稿者が設定したパスワードで削除されたのか 追加で削除ログに記録したいと思ってます。(削除ログはすでにあります) 削除パスワード入力フォームを$FORM{'pass'}とし、 管理者パスを$owner_pass 投稿者が設定した削除パスワードを$pw とした場合、どっちのパスが使われたのか分かるようにするには どのように記述したらいいのでしょうか? 管理者パスが使われたら管理者、 投稿者パスなら投稿者と削除ログに記録したいのですが、 いろいろやってみたのですがなかなかうまくいきません・・・。

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 削除を実行するところにパスワードの判定のif文があると思いますが、そこの中にさらに管理者パスワードと一致するかを入れれてあげれば判断できると思います。 $pass = 入力されたパスワード if ( $pass eq $owner_pass || $pass eq $pw ) { $msg = "投稿者が削除"; if ( $pass eq $owner_pass ) { $msg = "管理者が削除"; } } ただ、偶然にも管理者パスワードと一致した場合は判断つきません。 管理者パスワードを誰も選ばないようなパスワードにしておけばある程度判別できるかもしれませんが完全ではありません。

masa-25
質問者

お礼

2回もお答えくださり、誠にありがとうございます!! 先ほど参考にさせていただいたのですが、 きちんとやりたいようにできました! どうもありがとうございました。

その他の回答 (1)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 どのような仕様の掲示板?だかわからないのですが、 記事単位に削除パスワードがあって管理者のパスワードまたは投稿時に設定されたパスワードで一致すれば削除されるタイプでしょうか。 それだったら入力されたパスワードに対して管理者パスワードかどうかのチェックをして一致すれば管理者である旨をログに出力すれば良いと思います。 ただし、管理者パスワードと投稿者パスワードが偶然にも同じものが使われたら判別できません。 パスワード入力に対する仕様を変更しないとだめかもしれません。

masa-25
質問者

補足

こんにちは。回答ありがとうございます。 おっしゃる通り、記事単位に削除パスがあり、 管理者のパスワードまたは投稿時に設定したパスワードの どちらかと一致したら削除されるタイプの掲示板なのです。 そのパスワードをどちらが使われたかチェックしたいのですが 何度やってもうまくいかず、どう記述したらいいのか ここで相談した次第です。

関連するQ&A