新手用 ASP 做注册登录页面,那个提交按钮总是出错。求高手指点啊
程序代码:
<%@LANGUAGE="VBSCRIPT"%> <!--#include file="Connections/conn1.asp" --> <% ' *** Edit Operations: declare variables Dim MM_editAction Dim MM_abortEdit Dim MM_editQuery Dim MM_editCmd Dim MM_editConnection Dim MM_editTable Dim MM_editRedirectUrl Dim MM_editColumn Dim MM_recordId Dim MM_fieldsStr Dim MM_columnsStr Dim MM_fields Dim MM_columns Dim MM_typeArray Dim MM_formVal Dim MM_delim Dim MM_altVal Dim MM_emptyVal Dim MM_i MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME")) If (Request.QueryString <> "") Then MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString) End If ' boolean to abort record edit MM_abortEdit = false ' query string to execute MM_editQuery = "" %> <% ' *** Redirect if username exists MM_flag="MM_insert" If (CStr(Request(MM_flag)) <> "") Then MM_dupKeyRedirect="login.asp" MM_rsKeyConnection=MM_conn1_STRING MM_dupKeyUsernameValue = CStr(Request.Form("username")) MM_dupKeySQL="SELECT username FROM info WHERE username='" & Replace(MM_dupKeyUsernameValue,"'","''") & "'" MM_adodbRecordset="ADODB.Recordset" set MM_rsKey=Server.CreateObject(MM_adodbRecordset) MM_rsKey.ActiveConnection=MM_rsKeyConnection MM_rsKey.Source=MM_dupKeySQL MM_rsKey.CursorType=0 MM_rsKey.CursorLocation=2 MM_rsKey.LockType=3 MM_rsKey.Open If Not MM_rsKey.EOF Or Not MM_rsKey.BOF Then ' the username was found - can not add the requested username MM_qsChar = "?" If (InStr(1,MM_dupKeyRedirect,"?") >= 1) Then MM_qsChar = "&" MM_dupKeyRedirect = MM_dupKeyRedirect & MM_qsChar & "requsername=" & MM_dupKeyUsernameValue Response.Redirect(MM_dupKeyRedirect) End If MM_rsKey.Close End If %> <% ' *** Insert Record: set variables If (CStr(Request("MM_insert")) = "form1") Then MM_editConnection = MM_conn1_STRING MM_editTable = "info" MM_editRedirectUrl = "ss.asp" MM_fieldsStr = "username|value|password|value|password2|value|sex|value|qq|value|mail|value|add|value|personalinfo|value" MM_columnsStr = "username|',none,''|password|',none,''|pswa|',none,''|sex|',none,''|QQ|',none,''|mail|',none,''|dizhi|',none,''|personalinfo|',none,''" ' create the MM_fields and MM_columns arrays MM_fields = Split(MM_fieldsStr, "|") MM_columns = Split(MM_columnsStr, "|") ' set the form values For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2 MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i))) Next ' append the query string to the redirect URL If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString Else MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString End If End If End If %> <% ' *** Insert Record: construct a sql insert statement and execute it Dim MM_tableValues Dim MM_dbValues If (CStr(Request("MM_insert")) <> "") Then ' create the sql insert statement MM_tableValues = "" MM_dbValues = "" For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2 MM_formVal = MM_fields(MM_i+1) MM_typeArray = Split(MM_columns(MM_i+1),",") MM_delim = MM_typeArray(0) If (MM_delim = "none") Then MM_delim = "" MM_altVal = MM_typeArray(1) If (MM_altVal = "none") Then MM_altVal = "" MM_emptyVal = MM_typeArray(2) If (MM_emptyVal = "none") Then MM_emptyVal = "" If (MM_formVal = "") Then MM_formVal = MM_emptyVal Else If (MM_altVal <> "") Then MM_formVal = MM_altVal ElseIf (MM_delim = "'") Then ' escape quotes MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'" Else MM_formVal = MM_delim + MM_formVal + MM_delim End If End If If (MM_i <> LBound(MM_fields)) Then MM_tableValues = MM_tableValues & "," MM_dbValues = MM_dbValues & "," End If MM_tableValues = MM_tableValues & MM_columns(MM_i) MM_dbValues = MM_dbValues & MM_formVal Next MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")" If (Not MM_abortEdit) Then ' execute the insert Set MM_editCmd = Server.CreateObject("") MM_editCmd.ActiveConnection = MM_editConnection MM_ = MM_editQuery MM_editCmd.Execute 就是这里!!Microsoft JET Database Engine 错误 '80040e14' INSERT INTO 语句的语法错误。 /reg.asp,行 141 MM_editCmd.ActiveConnection.Close If (MM_editRedirectUrl <> "") Then Response.Redirect(MM_editRedirectUrl) End If End If End If %> <% Dim Recordset1 Dim Recordset1_numRows Set Recordset1 = Server.CreateObject("ADODB.Recordset") Recordset1.ActiveConnection = MM_conn1_STRING Recordset1.Source = "SELECT * FROM info" Recordset1.CursorType = 0 Recordset1.CursorLocation = 2 Recordset1.LockType = 1 Recordset1.Open() Recordset1_numRows = 0 %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>用户注册</title> <style type="text/css"> <!-- body,td,th { font-family: 宋体; font-size: 14px; } --> </style> </head> <body> <center> 用户注册<br> <% =request.QueryString("msg") %> <form ACTION="<%=MM_editAction%>" METHOD="POST" name="form1"> <table width="39%" height="105" border="0" > <tr> <td width="27%" height="30">用户名:</td> <td width="73%" height="30"><input name="username" type="text" id="username"> *</td> </tr> <tr> <td height="30">密码:</td> <td height="30"><input name="password" type="password" id="password"> *</td> </tr> <tr> <td height="30">确定密码:</td> <td height="30"><input name="password2" type="password" id="password2"> *</td> </tr> <tr> <td height="30">性别:</td> <td height="30"><input name="sex" type="text" id="sex"></td> </tr> <tr> <td height="30">QQ:</td> <td height="30"><input name="qq" type="text" id="qq"></td> </tr> <tr> <td height="30">Mail:</td> <td height="30"><input name="mail" type="text" id="mail"></td> </tr> <tr> <td height="30">地址:</td> <td height="30"><input name="add" type="text" id="add"></td> </tr> <tr> <td>个人介绍</td> <td><textarea name="personalinfo" cols="30" rows="6" id="personalinfo"></textarea></td> </tr> <tr> <td> </td> <td><input type="submit" name="Submit" value="提交"> <label> <input type="reset" name="Submit2" value="重置"> </label></td> </tr> </table> <input type="hidden" name="MM_insert" value="form1"> </form> </center> </body> </html> <% Recordset1.Close() Set Recordset1 = Nothing %>