トップ>Perl&CGI>基本編目次>INCMプラグインで覚えるPerl講座12

INCMプラグインで覚えるPerl講座

第12回 書き込み対応にする

ちびぼーどプラグインを書き込みが出来るようにします。

CMTヘッダに書き込む内容の書き換え

まずはHTMLソースのフォームの部分を見てみましょう。 FORMタグの次の行に

<input type="hidden" name="mode" value="write">

というのがあります。 CGIに書き込みモードだということを知らせるための引数です。 「name="mode"」が名前で、「value="write"」がになります。

プラグインの33・34行目を見て下さい。

	  '#P:POST,$c,i0=1&s1=$N&s2=$E&s3=$T&s11=$M&s4=$H&s5=$K',"\n",
	  '#F:POST,$c,i0=1&i5=$Sr&s1=$N&s2=$E&s3=$T&s11=$M&s4=$H&s5=$K',"\n";

この行ではCMTヘッダ書き込み時の設定を書き込んでいます。 この部分の説明は講座第4回でしてますので、参照して下さい。

とりあえず新規記事を書けるようにしたいので、33行目を修正します。 読み書きとも同じCGIですので、「$c」は「$C」にします。 そしてモード指定の部分を「i0=1」から「mode=wrire」と書き換えます。

	  '#P:POST,$C,mode=write&s1=$N&s2=$E&s3=$T&s11=$M&s4=$H&s5=$K',"\n",

さらにHTMLソースを見ていきましょう。

name:<input type="text" name="name" size="10" class="textbox" value="">

という行がありますね。

name:」とあるように投稿者名を記入する欄です。 当然、書き込みする人ごとに名前が違いますからはありません。 INCMで設定した名前を利用するには「$N」を使います。 「$N」の部分が書き込み処理時にINCMによって設定した名前に置き換えられます。 33行目の「s1」に「$N」が使われてるので利用します。

	  '#P:POST,$C,mode=write&name=$N&s2=$E&s3=$T&s11=$M&s4=$H&s5=$K',"\n",

同様に「s2」を「mail」に、「s4」を「url」に、「s3」を「comment」に書き換えて下さい。

	  '#P:POST,$C,mode=write&name=$N&mail=$E&comment=$T&s11=$M&url=$H&s5=$K',"\n",

では一度巡回し、未読を取得してCMTヘッダを更新して下さい。 INCMの仕様で巡回しても未読がないとCMTファイルが書き換えられないので。 試しに新規記事を作成して送信してみて下さい。 書き込めるようになったと思います。

返信のほうは必要ないので34行目を

	  '#F:',"\n";

とします。 33行目の「s11」と「s5」の部分も必要ないので消します。

	  '#P:POST,$C,mode=write&name=$N&mail=$E&comment=$T&url=$H',"\n",

今回はここまでです。 次回は記事色の指定に対応したいと思います。

Prev : Next


トップ>Perl&CGI>基本編目次>INCMプラグインで覚えるPerl講座12

©Copyright 2002 GETWILD'74 All Rights Reserved
E-Mail:getwild@mail.wind.ne.jp