• 締切済み

ASPのログイン制限に関する質問です

現在ログイン制限のページを作成しているのですがユーザーIDとパスワードを入力した情報を現在作成している関数に渡すとエラーがおきてしまいます。原因がわからないので助言をお願いします。 SQLの定義ですがすべてvarcharです。 以下コード ---------------------------------------------------------- 'ログイン画面からのデータを取得 user_id = Request.form("user_id") password = Request.form("password") function user_check(user_id, password) set objCon = Server.CreateObject("ADODB.Connection") set objRS = Server.CreateObject("ADODB.Recordset") objCon.ConnectionString = "DSN=・・・・;"& _ "UID=root;" & _ "PWD=・・・・・;" objCon.Open '入力した情報と一致するものを探す strSQL = "select person_code, password from person_master" & _ "where code = '" &user_id& "' and password = '" &password& "'" objRS.Open strSQL, objCon, 3 If objRS.EOF or objRS.BOF then user_check = "NG" else user_check = "OK" end If objRS.close set objRS = nothing objRS.close set objCon = nothing end function if user_check(user_id, password) <> "OK" then response.redirect "index.asp" else response.redirect "main.asp" end if

みんなの回答

回答No.1

どこでどういうエラーが出るのかを示さないと。 &user_id& &password& スペースが入っていないってオチ? と言うよりか、こういうのって ADO の Command オブジェクトや Parameter オブジェクトを使って処理した方がいいですよ。 ユーザーID やパスワードに ' を混入されちゃったらどうします?