- ホーム
- のらマネージャーのブログ
- WebDBを作ろう
WebDBを作ろう
第18回 FORMタグを考える
2002年6月15日 12:00
さて、ブラウザからWebサーバへ情報を渡すほとんど唯一(唯一ではないが)の方法が
FORMタグを使うことだ。
---------------
<FORM ACTION="xxxx.asp" METHOD="POST">
<INPUT TYPE=TEXT NAME="name1">
・
・
・
<INPUT TYPE=SUBMIT>
</FORM>
--------------
ここで、ACTIONのxxxx.aspというのが変数を渡すプログラムでFORMの入力値を受け取ることになる。METHODというのは変数を送る手法だ。
大雑把に分けると、METHODをGETにすると、いかの操作とほぼ等価になる。
<a href="xxxx.asp?name1=xyzxyz">ここをクリック</a>
この用に、リンク先へ"?"で繋いで変数名を値を渡すのがGETで、そういう風に見えないようにするのがPOSTだ。
メリットデメリットは各自考えていただければと思う。
次に、実際の変数とその値を決めるのがINPUTやSELECT、TEXTAREAだ。
属性値のNAME、VALUEがそれに相当する。
なので、
------------------
<FORM ACTION="xxxx.asp" METHOD="POST">
<SELECT NAME="sale">
<OPTION value="1">1を選ぶ <--こっちを選ぶ
<OPTION value="2">2を選ぶ
</SELECT>
<INPUT TYPE=TEXT NAME="name1"> <--aiueoと入力
<INPUT TYPE=SUBMIT>
</FORM>
-----------------------
で、これをSUBMITすると、
xxxx.aspに
sale=1とname1=aiueo
を渡すことになる。ただし、xxxx.aspの中で、
即使えるsaleとname1という変数が生まれるわけではない。
xxxx.aspでは、次のように受けとって再現する
----------------
<%
sale=Request("sale")
name=Request("name1")
%>
----------------
こうすると、VBScriptでつかえるFORMでのsaleの値を持った変数saleと
FORMでのname1の値を持ったnameになる。
この翻訳をおこなって、初めてブラウザからWebサーバへの値の受け渡しの完了といえる。-----
EXTENDED BODY:
第17回 ASPを触って見よう
2002年5月15日 12:00
さて、Webサーバーは動いたが、実際の処理をどうやればできるだろうか?
それをするのがASPだ。ASPはHTMLのファイルの中にVBScriptを書きこむ
ちょっとクセのあるスクリプトだ。組みこみ方は、ここに出ているように
<%~%>で括ってやるだけだ。
---------------------------------
<HTML>
<BODY>
<!---ここはHTML---->
実行順番1<BR>
<!---ここまでHTML---->
<%
'ここはVBScript
Response.Write("実行順番2<BR>");
%>
<!---ここはHTML------>
実行順番3<BR>
<!---ここまでHTML---->
<%
'ここはVBScript
Response.Write("実行順番4<BR>");
%>
</BODY>
</HTML>
---------------------------------
と、この用に、上から順番に実行するだけだ。
実行後、出来あがったファイルをブラウザに渡す。
実際にブラウザで表示されるHTMLは以下のようになっている。
---------------------------------
<HTML>
<BODY>
<!---ここはHTML---->
実行順番1<BR>
<!---ここまでHTML---->
実行順番2<BR>
<!---ここはHTML------>
実行順番3<BR>
<!---ここまでHTML---->
実行順番4<BR>
</BODY>
</HTML>
---------------------------------
この用に、上から順番に実行される。また、ループする処理を組んだ場合は
---------------------------------
<HTML>
<BODY>
<%
'ここはVBScript
for i=0 to 3
%>
<!---ここはHTML------>
お試し表示<BR>
<!---ここまでHTML---->
<%
'ここはVBScript
next
%>
</BODY>
</HTML>
---------------------------------
いかの用に、途中でHTMLに入れ替わっていてもなにごともなかたかのように
繰り返し処理が実行され、その回数分HTMLファイルが大きくなる。
---------------------------------
<HTML>
<BODY>
<!---ここはHTML------>
お試し表示<BR>
<!---ここまでHTML---->
<!---ここはHTML------>
お試し表示<BR>
<!---ここまでHTML---->
<!---ここはHTML------>
お試し表示<BR>
<!---ここまでHTML---->
<!---ここはHTML------>
お試し表示<BR>
<!---ここまでHTML---->
</BODY>
</HTML>
---------------------------------
より詳しいASPの言語そのものについては、BookCornerの
「WebDBを作ろう!」を参考にして欲しい。
ここまでで、Webサーバー→ブラウザの流れが何となく理解できたと思う。
次回は反対向きであるWebサーバー←ブラウザの流れを紹介しよう。
ある面ではHTMLの復習みたいなものである。
第16回 WEBサーバーを使ってみよう
2002年4月15日 12:00
さて、準備万端整ったところでそれぞれの構成要素を順に体験して見よう。
まずはブラウザから。ブラウザを復習すると、画面情報に細長いURLを入力
する窓があって、そこにIPアドレスやURLを入力すると、そこのWebサーバー
につながるという作りだ。
けっして、ローカルのファイルをドラッグしてHTMLを再生するためのものではない。
この認識が、WebDBには重要だ。
次に、繋ぐべきWebサーバー動かして見よう。
[スタート]→[プログラム]→[InternetExplorer]→[PersonalWebServer]
の中の「パーソナルWebマネージャ」
すると、パーソナルWebマネージャが実行されるはずだ(Win98のばあい)。
そこの真ん中に、ボタンがあって「発行」とかいてあるので、クリックして見よう。
すると、「停止」と変わるので、その状態でWebサーバーが起動している。
画面上に、URLとホームディレクトリーが出てくることだろう。
ブラウザで、そのURLを見てみよう。それが、ブラウザがアクセスする先である。
ホームディレクトリーの中には、HTMLファイルや、プログラムのファイルを置く。
けっして、そのホームディレクトリーのファイルを直接ブラウザで開いてはならない。
(別に問題は起きないけれど)
まずは実習ということで、なんか適当なHTMLファイルを作って
ホームディレクトリーにおいて見よう。
たとえば、hello.htmlだったとする。
そうすると、ブラウザに
http://~/hello.html
としてやれば、そのHTMLが表示されるはずだ。
これで、Webサーバーの動作確認はOK!
(NT等、それぞれ若干の違いがりますが、適当にマネージャを操作して見て下さい)
第15回 3層構造って?
2002年3月15日 12:00
さて、それぞれのツールがそろったところで、Webアプリケーション、すなわちWebDBの構造をちょっと考えてみましょう。いわゆる三層構造ですね。三層っていうくらいだから大きく分けて次の三つの要素からなります。
1.ユーザーが実際に画面を見たり操作したりする
「ブラウザー」
私が思うに今回はきっとIEに違いない。
2.ブラウザーから情報を受け取って、情報を加工して
データベースとやり取りをして、ブラウザーに再び
情報を渡す
「Webサーバー」
私が思うにPWSをみんないれて使うに違いない。
3.Webサーバーから情報を受けとって格納したり、
Webサーバーへ格納した情報を渡したりする
「データベースサーバー」
私が思うにMS-ACCESSをみんないれて使うに違いない。
この三つの関係を良く理解する必要があります。
理解のポイントをいくつか箇条書きにして見ましょう。
a)3者はみんな違う言語世界で生きてる。
これが結構重要だ。1が理解出来る言語はHTMLのみ(もの
によってはVB-ScriptだのJava-Scriptだの理解出来るが、
今回は混乱を避けるために使わないことにしておこう)だ
し、2が理解出来るのは、今回はPWSなのでVBをベースに
したActiveServerPagesである。そして、3が理解出来る
のは前にもやったけどSQLだけだ(ただし、今回はMS-ACC
ESSなので厳密にはちょっと違うものもある)。
なので、ブラウザに直接SQLだのASPを書いても無駄だし、
いっぽうでデータベースにHTMLを渡しても何も仕事をし
てはくれない。
b)1,2の間と、2,3の間でのみ情報の行き来が可能である。
今回はきっと一つの機械上でやってしまうので、情報の
やり取りの関係を忘れてしまいがちだが、あくまで、
1-2-3という繋がりでしかやり取りはできない。
ブラウザで直接mdbファイルは見れないし、aspのファイルを
ダブルクリックしても見ることはできない。あくまでも
ブラウザーはhttpのプロトコルを通してWEBサーバーに
アクセスしてそこからHTMLを貰わないと表示の確認は
出来ないのだ。
整理すると、1-2の間は、1→2はフォーム分をつかって
値をWebサーバに渡すという作業。2→1はHTTPを通じて
HTMLを渡す作業。
2-3の間については2→3はODBCやADOをつかってSQL文を
渡す作業。3→2はその結果をレコードセットとして変数に
返す作業。
となる。
c)見せるのは1の仕事
1の一番重要な仕事は、入力フォームを表示して値をユーザーに
入力させること(意識させるさせないは別として)と、その値に
応じた結果を表示させることだ。
言い換えれば、それ以外のことはなんにもできない。
ある意味脳味噌の無いパープリンである。
d)考えるのは2の仕事
1から値を受けとってそれに応じて、値をデータベースに渡したり
情報を加工したり、1に渡すHTMLを作ったりと大忙しの部署である。
原則として値を受け取っても、それを覚えることは全くしない。
覚える仕事は、3に押し付け、表示の仕事は1に押し付け、それ以外の
いろんな雑務をする部署である。
e)覚えるのは3の仕事
2からSQLを受けとって、ひたすらそれを実行するだけである。
SQLによってものを覚えたり、覚えている情報を渡したりする
だけである。
初心者にとってキーになるのは、見れば分かるように2の仕事を
どう定義するか、すなわちプログラムをどう組むかという部分である。
上記の関係を意識しながら、実際に次回から簡単なWebDBを作っていこう。-----
EXTENDED BODY:
第14回 おうちでチャレンジ PWS+ACCESSで
2002年2月15日 12:00
さて、前回までひたすらDBの話でちょっとつまらなかったかもしれません。
そろそろ、実際にWeb-DBを作ってみましょう。
とは言っても、いきなり本格的に作るのは難しいだろうし、そもそも、 そこいらのホスティングやらプロバイダーでデータベース付きのところも少ないでしょうから、自分で簡単に作って雰囲気だけでも楽しみましょう。
え?自分で作るのは大変?サーバー向けのOSのLinuxだのNTやら、ましてやSUNなんかもってないって?
大丈夫。大丈夫。
Webサーバー買ってくる金なんかないし、ましてやOracleなんぞ手元にもってないよって?
これも大丈夫。大丈夫。
まず使うOS。WindowsであればなんでもOK!って、3.1とか古いのは勘弁してね。
基本的に95以上であれば大丈夫だと思う。
こんなんで動くWebサーバーってあるの?って思うでしょ?
あるんですよ。
悪名高き?ブラウザーInternetExplorerのおまけで。
Personal Web Severってのが。略してPWSと以降呼ぶよ。
Windows98とかMeにはデフォルトでついているかも。
さて、DBは何使おうかね。てもとにMS-Officeなんかあるかな?
あればしめたもの。そこには、MS-ACCESSって素敵なRDBMSが
入っているはずだ。
バージョン?とりあえずなんでもいいよ。たぶん動くから。
さて、その二つが入っていることを確認してみましょう。
まず、PWS。Win98の場合はスタートメニューのなかのInternetExplorerのなかに
Personal Web Severってメニューがさらにあるんで、そのなかのPWSマネージャーを起動して見よう。入って無ければセットアップをスタートさせればOK。
MS-ACCESSは簡単だよね。念の為に1回起動して動くことを確認しておきましょう。
ちなみに、Office買ってきてなんでもかんでもインストールしたらたいてい両方そろってるはず。
あ、そうそう。入っていないなんてことはないと思うけど、あと必要なのがアプリケーションのソースコードを書くためのテキストエディタ。メモ帳で十分。
あと、ブラウザーはお好みで一つ用意。
準備が出来たので、次回からどんどん作ろう。 と、その前にちょっと復習もしようかな。----- EXTENDED BODY:









