logo

ETCにもどる

基本構文

ここではBBSファイルの基本構文について掲載
構文はKENT WEBさん配布のCGIを参考にした
CGIについてもっと知りたいならKENT WEBさんに丁寧に解説してある


下に簡単な流れを掲載 もし、BSSページで「test.zip」をダウンロードしたなら test.cgi も下と似た構造になっている
#!/usr/local/bin/perl

require 'jcode.pl';
require 'cgi-lib.pl';

&decode;

if ($mode eq 'top') {⊤ }
elsif ($mode eq 'sinki') { &sinki; }
elsif ($mode eq 'hensyu') { &hensyu; }

⊤

sub top {
	&header;
	print "ここはTOP画面です\n";
	&footer;
}

sub sinki {
	&header;
	print "ここは新規登録画面です\n";
	&footer;
}

sub hensyu {
	&header;
	print "ここは編集画面です\n";
	&footer;
}

sub header {
	ここに内容を記載
}

sub footer {
	ここに内容を記載
}

sub decode {
	ここに内容を記載
}
一行目はサーバー内のperlの場所
サーバーによって異なり #!/usr/bin/perl の場合もある

require はライブラリファイルを読み込むこと。
jcode.pl および cgi-lib.pl はネット上にあるものを使う
仮に cgi というフォルダーに置いたとすると
require './cgi/jcode.pl';
と書く


&decode は sub decode に書かれていることを実行する、という意味


if の部分は、もしtopへ行け、と命令した場合は、画面を sub top に移動させる、という意味

header と footer は何回も使いますので、& を使ったほうが便利


print "〇〇〇\n"; のところは 〇〇〇の部分にHTML文を書く

下のように書くこともあり、同じこと
print <<"EOM";
〇〇〇
EOM



例えば bbs.cgi という掲示板があって、TOP画面から編集画面へ移動する場合は、下のように書くこともできる
(略)

$scrip = bbs.cgi

(略)

	&header;
	print "編集画面は <a href=$script?mode=hensyu>こちら</a>\n";

$ という文字がよく出てくる
上の $scrip = bbs.cgi は $scrip に bbs.cgi を格納する、という意味

数式として使うこともある
	$no = 100
	$no = $no + 1

	&header;
	print "$no番目のご投稿です\n";
もし上のように書けば、画面には 101番目のご投稿です と表示される

= は一般数式の =  とは違い、等しいという意味ではない
$no に $no + 1 を格納する、という意味になる

---- End ----

↑PageTop ETCにもどる