雨谷の日和

過去20年で2,700を超えるアニメの第1話だけは見続けた僕のお勧めアニメがハズレなはずがない

人狼BBS作成日記66

ログアウトを考えてみましょう。
ログインしたときの情報はCookie に保存しますから、ログアウトの時にはその保存された情報をCookie から削除すればよいと考えます。
Cookie からデータを削除するには、以下のようにすれば良いでしょう。

sub CLEAR_COOKIE {
  $cook = "key\:";
  print "Set-Cookie: $Cookie_Id=$cook\n";
}

……いやまあ、key に対応するvalue を空文字にしているだけなんですけどね。
他にもCookie の有効期限(expires)を過去日付にすることで、削除する方法もあります。そっちの方が無難かも知れませんね。


それはともかく、ログアウトのための入力フォームも書いておきましょう。

sub STDOUT_LOGOUT_FORM {
  print "<div class=\"login\">\n";
  print "<form method=\"POST\" action=\"$Cgi_Main\" class=\"login\">\n";
  print "<input type=\"hidden\" name=\"mode\" value=\"logout\">\n";
  print "user_id: $Login_Index <input type=\"submit\" value=\"ログアウト\">\n";
  print "</form><br class=\"clear\"></div>\n";
  print "<br>\n";
}

ログインの時にはログインするキャラクターの番号を入力して頂くためのテキストボックスがありましたが、ログアウトの時はそれも必要無いのでボタンだけになっています。