<パスワードの入力画面>
こんにちは、Ken3です。
今回は、
パスワードの入力画面
について簡単に書いてみたいと思います。
/*
* 1.意外と簡単なパスワード入力フォーム
*/
バックナンバーのまとめで、
どんなシステムにも、ユーザーから受け取った値を処理する仕組みがあります。
HTMLのフォームから入力された値を送ってもらい、ASPでも処理します。
なんて、偉そうに書いてたけど、
ASP、ASPと騒いでいても、
HTMLフォームタグのタグで入力されたデータを
受け取って処理しているだけです。
パスワード:<INPUT TYPE="password" NAME="pass" SIZE="12">
なんて、1行、入力のための処理を作成すればOKです。
ポイントは、TYPE="password"です。
ユーザーIDとパスワードを入力させるフォームを
下記のような感じで作りました。
<html>
<head>
<title>パスワードの入力テスト</title>
</head>
<body>
<h2>パスワードの入力テスト</h2>
<br>
<FORM ACTION="test035-1.asp" METHOD="POST">
USER ID:<INPUT TYPE="text" NAME="userid" SIZE="20"><br>
パスワード:<INPUT TYPE="password" NAME="pass" SIZE="20"><br>
<INPUT TYPE="submit" VALUE="ログイン">
<INPUT TYPE="reset" VALUE="クリア">
</FORM>
</body>
</html>
http://www.ken3.org/cgi-bin/test/test035-1.html で確認できます。
/*
* 2.受け取りも普通通り
*/
データの受け取りも、普通に、
Request.Form("userid")
Request.Form("pass")
で受け取れます。
簡単なチェックをIf文でしてみました。
<%@LANGUAGE=VBScript%>
<html>
<head>
<title>パスワードのチェック</title>
</head>
<body>
<h2>パスワードのチェック</h2>
test035-1.asp<br>
ID=<%=Request.Form("userid")%><br>
PASS=<%=Request.Form("pass")%><br>
を受け取りました。<br>
<% 'ID=guest Pass=ken3 だったら、OKにする
If Request.Form("userid") = "guest" And Request.Form("pass") = "ken3" Then
Response.Write "<h2>パスワードOK、ようこそ</h2>"
Else
Response.Write "<font color='red'>パスワードが違います</font>"
End If
%>
<HR>
終了です。なんか変だけど<br>
</body>
</html>
http://www.ken3.org/cgi-bin/test/test035-1.html
で、ID:guest Pass:ken3 でテストして下さい。
*また、違うパスワードを入れたりして、エラーを確認して下さい。
/*
* 3.METHOD="GET" で送った時のメリット、デメリット
*/
フォームの送信で、もう一つのパターン、
FORM ACTION="xxxxx.asp" METHOD="GET"
があったよね、
パスワード入力をGET対応にするには、
***************************
HTML 入力側 test035-2.html
***************************
<html>
<head>
<title>パスワードの入力テスト METHOD=GETで送る</title>
</head>
<body>
<h2>パスワードの入力テスト METHOD=GETで送る</h2>
<br>
<FORM ACTION="test035-2.asp" METHOD="GET">
USER ID:<INPUT TYPE="text" NAME="userid" SIZE="20"><br>
パスワード:<INPUT TYPE="password" NAME="pass" SIZE="20"><br>
<INPUT TYPE="submit" VALUE="ログイン">
<INPUT TYPE="reset" VALUE="クリア">
</FORM>
</body>
</html>
***********************
ASP 判断 test035-2.asp
***********************
<%@LANGUAGE=VBScript%>
<html>
<head>
<title>パスワードのチェック Request.QueryString</title>
</head>
<body>
<h2>パスワードのチェック Request.QueryString</h2>
test035-2.asp<br>
ID=<%=Request.QueryString("userid")%><br>
PASS=<%=Request.QueryString("pass")%><br>
を受け取りました。<br>
<% 'ID=guest Pass=ken3 だったら、OKにする
If Request.QueryString("userid") = "guest" _
And Request.QueryString("pass") = "ken3" Then
Response.Write "<h2>パスワードOK、ようこそ</h2>"
Else
Response.Write "<font color='red'>パスワードが違います</font>"
End If
%>
<HR>
終了です。なんか変だけど<br>
</body>
</html>
http://www.ken3.org/cgi-bin/test/test035-2.html で確認できます。
変更点は、
~~~~~~~~~
<FORM ACTION="test035-2.asp" METHOD="GET">
とGETで送ってるのと、
受け取りが、
Request.QueryString("項目名")になっただけなんだけど。
プログラムの変更点は少ないのですが、
テストするとわかるのですが、
http://www.ken3.org/cgi-bin/test/test035-2.asp?userid=kenzou&pass=0000
みたいに、URLにパスワードが載ってます。
←サンプル画面
これをセキュリティ上のデメリットと取る見かたもあるけど、
メリットもあって、
パスワードのフォーム画面で入力しなくても、
ショートカットがわりで
http://www.ken3.org/cgi-bin/test/test035-2.asp?userid=guest&pass=ken3
としておけば、メールソフトなどからワンクリックでユーザー画面に入れる
なんてこともできます。
セキュリティと使い易さのバランスをとらないといけないけど、
GETで送るのも一つの手です。
/*
* 4.終わりの挨拶
*/
簡単なパスワード入力の説明でした。
次回は、DBにユーザー登録して、IDとパスワードのチェックを
やってみたいとおもいます。
素朴な疑問あったら、気軽に、
メール、掲示板に書き込んでくださいね。
掲示板 : http://www.ken3.org/asp/bbs-asp.html
ASP、VBScript勉強中の三流プログラマーのKen3でした。
----------------------------------
関連項目(ただのバックナンバー紹介)
----------------------------------
[No.04 フォームから値を受け取りたい]
( http://www.ken3.org/backno/backno_asp01.html#4 を参照)
では、
フォームを作成し、モードPOSTで送信
受け取りの基本は簡単で、
Request.Form("フォームの項目名")
で受け取りました。
[No.08 URLに付けたパラメータを参照(クエリ情報)]
( http://www.ken3.org/backno/backno_asp02.html#8 を参照)
では、
URLに付けた情報 test007-2.asp?ID=123 ?の後ろがパラメーターを取出す
Request.QueryString("項目名")をやりました。
満足 http://www.ken3.org/cgi-bin/test/test008-2.asp?A=1
普通 http://www.ken3.org/cgi-bin/test/test008-2.asp?A=2
不満 http://www.ken3.org/cgi-bin/test/test008-2.asp?A=3
などのよくみかけるパターンを少し解説しました。
さらに続けて、
[No.09 URLに付けたパラメータを参照(クエリ情報)]
( http://www.ken3.org/backno/backno_asp02.html#9 を参照)
では、
フォームのMETHOD="GET"で送ると、
フォームの値をURLに載せて、ASPが呼ばれてることを説明しました。
[No.22 隠し項目type="hidden"を使ってみた]
( http://www.ken3.org/backno/backno_asp05.html#22 を参照)
では、
画面に表示されない隠し項目の使い方を解説しました。
固定のパラメーターなどを隠して(表示しないで)渡す時に必要です。
ここまで、読んでいただきどうもです。目的の情報が見つかったか?少々心配しつつ、、、
感想や質問・要望・苦情など 三流君へメッセージを送る。

下記のフォームからメッセージを送ることができます。
[三流君(TOP ken3.org へ戻る)]
/ [ASPで遊ぶ、失敗する]
/ [ASP記事 バックナンバー目次]
まぁ、基本はデータの受け取りかなぁ。
・[Form等を使用したデータのやり取り]・・・ASPと言っても、HTMLの入力フォームからデータを受け取ります。POSTやGETでやりとりを押さえますか。
次は、データの入出力 で ADOを使った(ADOで接続) と SQLの解説を少々
・[ADOでMdbファイルを使う]・・・MDBと接続して、簡単な追加・更新・削除を行った。
・[ADOでExcelと接続してみた]・・・.xlsと接続してSQLを使ってみた。
・[ADOでCSVと接続してみた]・・・.CSV テキストを読み出した。※更新・削除はできません
広告:
DBが使えるので、あまり使用しないけど、普通のテキストファイル処理
・[テキストファイル処理]・・・ファイルを開いて、書き込む。1行読み込みなどを軽く
VBScriptでFormat関数が無いなど、微妙にVBAと違うけど
[VBScript関数関係の説明]・・・少し、処理を書いてみた。
[その他処理サンプル]・・・あまり良いサンプル作れなかったけど。。。
何かの参考となれば幸いです。
[三流君(TOP ken3.org へ戻る)]
/ [ASPで遊ぶ、失敗する]
/ [ASP記事 バックナンバー目次]