トクトクでクッキーを効かせよう!

(01.08.25更新)

最初に・・・
改造する前にスクリプトのコピーをとっておいてね。
もし失敗しちゃった時に、そのまま続けると訳が解んなくなってくると困るから、
また最初からやり直し出来るようにコピーだけは忘れずに。。。。


クッキーを効かせるにはクッキー用のMETAタグを使います。
<META HTTP-EQUIV='Set-Cookie' CONTENT='NAME=値; expires=値; domain=値; path=値; secure'>
これを出力するように追加する。。。って事でしたね。

では、ペットルームのスクリプトに追加していってみましょう。
(追加箇所は3箇所、青い文字の部分を追加してね!)


★プログラム先頭部分で、変数の宣言をします。

$dmy_tok2_cookie = ''; # クッキー用の変数の宣言 (chara*は↓これのすぐ上に入れてます)

# ########################設定はここまで############################  
# ここから先を変更する場合はご自分の責任において変更してください。



★そしたら、cookieをセットしている場所を探します。
ここが問題のMATAタグに変更すると言う場所ですが、ペットルームの場合NAME=値; expires=値;しか
書いていないのでMATAタグに変更する時はこの部分を同じにします。(注1:参照)
エディター上で"set_cookie"で検索をかけてみてください。
# ------------------------- #
# Sub Set Cookie
# クッキーの保存
# ------------------------- #
の中の記述で、クッキーセット用サブルーチンの最後の行に
print "Set-Cookie: PETROOM2=$cook; expires=$date_gmt\n";
といった行があるので、このすぐ下に
$dmy_tok2_cookie = "<META HTTP-EQUIV='Set-Cookie' CONTENT='PETROOM2=$cook; expires=$date_gmt'>\n";
を一行で追加してください。(注1)



★最後に、一番最初に表示されるページを出力している部分を探します。
そして、<head>出力のすぐ下に以下のような記述を追加します。

##### 以下、内部、及びHTML処理 #####

# ------------------------- #
# Sub Header
# ヘッダー
# ------------------------- #
sub header {
print "Content-type: text/html\n\n";
print "<html>\n<head>\n";
print $dmy_tok2_cookie; # クッキーの発効  (この位置に入ります)
print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">\n";



はい、これで改造は終わりです。

(注1の説明)
色の部分はprint "Set-Cookie: 〜 \n"; の場合と、クッキー用MATAタグを使用した場合、
どちらも同じだと言う事が解りますか?
別に難しく考える事は無いんです。
元のスクリプトで書いてある色の部分だけをMATAタグを使って追加するだけなんです。
最初は意味も解らず書き換えるだけかも知れませんが、少なくともこの追加のやり方が解っていれば
ペットルーム以外のcgiスクリプト(クッキー使用可能と作者がいっているもの)例えば掲示板などで
『クッキーが効かない』といったような事も自分で回避出来ると思います。
(中には出来ない物もあるかも知れません。)
それでもやはりスクリプトを弄るのですから不安はあるでしょうし、失敗もあると思います。
そんな時の為に改造前のコピーを取りましょう。

色の部分が追記する部分ですが、ペットルームに関しては
追加部分をコピーしてスクリプトに貼り付けでも大丈夫なはずです。(一応確認済み)

最後に・・・
スクリプト内に全角スペースが入っていたり、
あるべき場所(必要な場所)の『”』『’』『;』(←全部半角)なんかが
ちょっと抜けただけでもcgiは500エラーになっちゃいます。
初めて改造される方は特に気をつけて下さい。

何か解らない事、またこの説明で解り難い部分がありましたら掲示板にてご質問して下さいね。


Back   Home