<パスワードの入力画面> こんにちは、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記事 バックナンバー目次]