3.某软件公司采用 ASP.NET+SQL Server 技术,前端页面采用HTML+CSS +JavaScript 方式,开发一套电子商务网站,主要包括用户注册与登录、商品展示与销售、订单处理等功能,项目团队某成员被分配设计实现用户注册与登录部分。
【问题1】(8分)
为了提高网站访问效率,采用JavaScript 进行客户端验证,用户注册页面中,需要验证用户各信息的合法性。假定页面中用户名控件的ID为“myname”,密码控件的ID为“mypwd1”,确认密码控件的ID为“mypwd2”,以下程序验证用户名非空且长度至少6位,密码及确认密码一致、非空且必须是数字(其他信息的验证忽略)。根据题目描述,完成以下程序。
function checkReg()
{
var username=document.getElementByID(“myname”).(1)
Var pwd=document.getElementById(“mypwd1”).(1)
var pwdConfirm=document.getElementById(“mypwd2”).(1)
var checkright=true;
if(username=="")||pwd==""||pwdConfirm==""
{
alert("请确认用户名和密码输入是否正确!!")
checkright=false;
}
else
{
if(username.length<(2))
{
alert(“用户名长度至少6个字符!!”);
checkright=false;
}
else
{
for(var i=0;i<pwd.(3);i++)
{
var onechar=pwd.charAt(i)
if(onechar>(4)||onechar<(5))
{
alert("密码必须为数字字符!");
checkright=false;
break;
}
}
if(i>=(6))
{
if(pwd!=(7))
{
alert("两次输入的密码必须一致!!");
checkright=false;
}
else
{
checkright=(8);
}
}
}
return checkright;
}
【问题2】(7分)
以下程序表示用户登录过程,假定数据库连接字符串正确无误,用户信息表名为"users",登录页面中包括用户编号控件(ID 为 myUserID)、密码控件(ID为 mypwd)等。采用 SQL 参数化方式实现数据库查询,登录成功时,跳转至"userCenter.aspx" 页面,登录失败时,弹出错误提示。根据题目描述,完成以下程序。
public void UserLogin()
{
string strcon="server=dataServer;database=shop;uid=sa;pwd=sa;";
SqlConnection con=new SqlConnection(strcon);
string userID=Request.Form["(9)"];
string pwd=Request.Form["(10)"];
string sqlStr="select * from users where UserID=@userID and UserPWD=@pwd";
Sqlparameter[]p=
{
new SqlParameter("@userID",(11))
new SqlParameter("@"pwd,(12))
};
try
{
SqlDataAdapter da=new SqlDataAdapter(aqlStr,(13));
da.SelectCommand.Parameters.AddRange(p);
DataSet ds=new DataSet();
da.Fill((14));
if(ds.Tables[0].Rows.Count>0)
Response.Redirect("(15)");
else
Response.Write("<script>alert('用户名或密码错误,请重新输入!');</script>");
}
catch(Exception e)
{
Response.Write(e.ToString());
}
}