ASP(Active Server Pages)は、サーバーサイドで動作するWebアプリケーションの開発環境です。
そのASPの中核となるのが「VBScript」です。
VBScriptはMicrosoftが開発したスクリプト言語で、特に簡単な文法と使いやすさから、ASPの開発において非常に重要な役割を果たしています。
本記事では、ASP環境のセットアップ手順から、VBScriptを使ったASPの基礎から応用までをわかりやすく解説します。
Webアプリケーション開発に初めて取り組む方でも理解できるように、具体例を交えて説明しますので、ぜひ最後までお読みください。
ASP(Active Server Pages)とは?
ASPは、Microsoftによって開発された、サーバーサイドでWebページを動的に生成するための技術です。
サーバー上でVBScriptやJavaScriptなどのスクリプトを実行し、動的にHTMLを生成してクライアントに送信します。
これにより、ユーザーの入力や条件に応じたページを作成できるようになります。
ASPを始めるための環境セットアップ
ASPを動作させるためには、Webサーバーが必要です。
ここでは、Windows環境におけるASPのセットアップ手順を紹介します。
ステップ1:IIS(Internet Information Services)の有効化
WindowsのIIS(Internet Information Services)は、ASPを実行するためのサーバー機能を提供します。まず、IISを有効にする必要があります。
- コントロールパネルを開きます。
- プログラム > Windows の機能の有効化または無効化を選択します。
- Internet Information Services にチェックを入れて、有効化します。
- IIS マネージャーを起動し、適切な設定が行われていることを確認します。
ステップ2:ASPの有効化
IISを有効にしただけではASPは動作しないため、ASPの機能を有効にする必要があります。
- IIS マネージャーを開き、左のペインでサーバー名をクリックします。
- 機能ビューに移動し、ISAPI および CGI 制限を選択します。
- ASPが有効になっているか確認し、無効な場合は有効化します。
ステップ3:ASPファイルを配置するフォルダの作成
IISのルートディレクトリにASPファイルを配置します。
- 通常はC:\inetpub\wwwrootがIISのルートディレクトリです。
- このフォルダに.asp拡張子のファイルを配置します。例えば、test.aspというファイルを作成しましょう。
ステップ4:テスト用ASPファイルの作成
次に、簡単なASPファイルを作成して動作確認を行います。
<%
Response.Write("Hello, ASP World!")
%>
このファイルをtest.aspとして保存し、C:\inetpub\wwwrootに配置します。
ステップ5:ブラウザで動作確認
- IISが動作していることを確認し、ブラウザでhttp://localhost/test.aspにアクセスします。
- 「Hello, ASP World!」と表示されれば、ASPが正常に動作しています。
VBScriptの基本構文
環境が整ったところで、次にVBScriptの基本構文を学びましょう。
ASPでは主にVBScriptが使われ、以下のような基本構文を理解することが重要です。
変数の宣言と代入
VBScriptでは、変数の宣言はDimキーワードを使います。
Dim myVariable
myVariable = "こんにちは"
条件分岐
条件分岐ではIf…Then…Elseが使用されます。
If myVariable = "こんにちは" Then
Response.Write "挨拶です!"
Else
Response.Write "挨拶ではありません。"
End If
ループ処理
繰り返し処理には、For…NextやDo…Whileを使います。
Dim i
For i = 1 To 5
Response.Write "ループ番号: " & i & "<br>"
Next
ASPでVBScriptを使ったWebページ作成
ここでは、VBScriptを使った簡単なASPページを実際に作成し、動的なコンテンツ生成の方法を学びます。
例1:現在の日付と時刻を表示するASPページ
以下のASPスクリプトでは、現在の日付と時刻を表示する簡単なWebページを作成します。
<%
Dim currentDate
currentDate = Now() ' 現在の日付と時刻を取得
Response.Write "<html>"
Response.Write "<body>"
Response.Write "<h1>現在の日付と時刻</h1>"
Response.Write "<p>" & currentDate & "</p>"
Response.Write "</body>"
Response.Write "</html>"
%>
このコードをdate.aspというファイル名で保存し、C:\inetpub\wwwrootに配置します。
その後、ブラウザでhttp://localhost/date.aspにアクセスすると、現在の日付と時刻が表示されます。
例2:ユーザー入力を処理するフォーム
フォームを使ってユーザー入力を処理し、その結果を動的に表示するASPページの例を見てみましょう。
<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
Dim userName
userName = Request.Form("name")
Response.Write "<h2>こんにちは、" & userName & "さん!</h2>"
Else
%>
<form method="post" action="form.asp">
名前: <input type="text" name="name">
<input type="submit" value="送信">
</form>
<%
End If
%>
このページでは、POSTリクエストが送信された場合、フォームに入力された名前を取得して、挨拶メッセージを表示します。
演習問題と解答例
この記事の内容を基にした演習問題を通じて、実際に手を動かしながら学習を進めましょう。
演習問題1:時間帯に応じた挨拶メッセージ
ユーザーがフォームで名前を入力すると、現在の時間帯に応じて「おはようございます」「こんにちは」「こんばんは」と挨拶するASPページを作成してください。
演習1:解答例
<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
Dim userName, currentHour, greeting
userName = Request.Form("name")
currentHour = Hour(Now())
If currentHour < 12 Then
greeting = "おはようございます"
ElseIf currentHour < 18 Then
greeting = "こんにちは"
Else
greeting = "こんばんは"
End If
Response.Write "<h2>" & greeting & "、" & userName & "さん!</h2>"
Else
%>
<form method="post" action="greeting.asp">
名前: <input type="text" name="name">
<input type="submit" value="送信">
</form>
<%
End If
%>
演習問題2:簡単なデータベース検索
データベースに保存されたユーザー情報(名前と年齢)を検索し、指定された名前が存在するかどうかを確認するページを作成してください。
演習2:解答例
<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
Dim conn, rs, sql, searchName
searchName = Request.Form("name")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db\sample.mdb"
sql = "SELECT * FROM Users WHERE Name = '" & searchName & "'"
Set rs = conn.Execute(sql)
If Not rs.EOF Then
Response.Write "<h2>" & rs("Name") & "さんの年齢は " & rs("Age") & "歳です。</h2>"
Else
Response.Write "<h2>" & searchName & "さんはデータベースに存在しません。</h2>"
End If
rs.Close
conn.Close
Else
%>
<form method="post" action="search.asp">
名前: <input type="text" name="name">
<input type="submit" value="検索">
</form>
<%
End If
%>
まとめ
この記事では、ASPを始めるための環境セットアップから、VBScriptの基本構文、フォーム処理、データベースとの連携までを詳しく解説しました。
IISのセットアップ手順に従って、まずはASPを実行できる環境を整え、VBScriptを使った動的なWebページの作成に挑戦してみてください。