提交表单的问题

cheqiang 2002-02-20 01:08:17
小弟搞一个用户注册时,由于要填写的资料比较多,我考虑把他分成登陆资料和基本资料,并存在2个表里,user和userinfor
但不管怎么试,只能把登陆资料存进user,
我进行的是2次连接,咳,我也说不清楚了,所有的东西都在这里,问问有什么问题??是不是userinfor的东西太多了??非常着急!!!!!!!!!!!111
username=trim(request.form("username"))
password=trim(request.form("password"))
name=trim(request.form("name"))
sex=request.form("sex")
age=trim(request.form("age"))
email=trim(request.form("email"))
oicq=trim(request.form("oicq"))
photo=trim(request.form("photo"))
folk=trim(request.form("folk"))
health=trim(request.form("health"))
major=trim(request.form("major"))
knowledge=trim(request.form("knowledge"))
party=trim(request.form("party"))
school=trim(request.form("school"))
kind=trim(request.form("kind"))
band=trim(request.form("band"))
h_address=trim(request.form("h_address"))
h_province=trim(request.form("h_province"))
h_code=trim(request.form("h_code"))
h_telephone=trim(request.form("h_telephone"))
h_fax=trim(request.form("h_fax"))
w_address=trim(reqeust.form("w_address"))
w_province=trim(request.form("w_province"))
w_code=trim(request.form("w_code"))
w_telephone=trim(request.form("w_telephone"))
telephone=trim(request.form("telephone"))
w_fax=trim(request.form("w_fax"))
work=trim(request.form("work"))
depart=request.form("depart")
progress=request.form("progress")
set rs=server.createobject("adodb.recordset")
sql="select * from user where 用户名='"&username&"'"
rs.open sql,conn,1,1
if not rs.eof then
Response.write "<html><head><title>出错提示</title><meta http-equiv='Content-Type' content='text/html; charset=gb2312'></head>"
Response.write "<body bgcolor='#ebe7be'><table width='364' cellpadding='10' align='center'><tr align='center'><td>"
Response.write "<p><font face='黑体' color='#FF0000' style='font-size: 32pt'>出错提示</font></p>"
Response.write "<p>这个用户名已经被人注册先了,请选一个新的!</p>"
Response.write "<p><a href='javascript:history.go(-1)'>点击此处进行修改</a></p>"
Response.write "</td></tr></table></body></html>"
Response.end
rs.close
set rs=nothing
end if
set rs=server.createobject("adodb.recordset")
sql="select * from userinfor "
rs.open sql,conn,3,3
rs.addnew
rs("用户名")=username
rs("姓名")=name
rs("年龄")=age
rs("性别")=sex
rs("生日")=trim(request.form("b_year"))+"年"+request.form("b_month")+"月"+request.form("b_day")+"日"
rs("email")=email
rs("oicq")=oicq
rs("照片")=photo
rs("民族")=folk
rs("身体状况")=health
rs("签约时间")=trim(request.form("s_year"))+"年"+request.form("s_month")+"月"+request.form("s_day")+"日"
rs("签约终止时间")=trim(request.form("e_year"))+"年"+request.form("e_month")+"月"+request.form("e_day")+"日"
rs("专业")=major
rs("学历")=knowledge
rs("政治面貌")=party
rs("毕业时间")=trim(request.form("g_year"))+"年"+request.form("g_month")+"月"+request.form("g_day")+"日"
rs("毕业院校")=school
rs("外语种类")=kind
rs("外语等级")=band
rs("家庭住址")=h_address
rs("家庭省份")=h_province
rs("家庭邮编")=h_code
rs("家庭电话")=h_telephone
rs("家庭传真")=h_fax
rs("工作住址")=w_address
rs("工作省份")=w_province
rs("工作邮编")=w_code
rs("工作电话")=w_telephone
rs("常用电话")=telephone
rs("工作传真")=w_fax
rs("部门")=depart
rs("职责")=work
rs("业绩")=progress
rs.update
rs.close
set rs=nothing
set rs=server.createobject("adodb.recordset")
sql="select * from user"
rs.open sql,conn,1,3
rs.addnew
rs("用户名")=username
rs("密码")=password
rs("ip")=request.servervariables("remote_addr")
rs("上次登陆时间")=now()
rs("注册时间")=now()
rs.update
rs.close
set rs=nothing
response.redirect("manage.asp")
...全文
43 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cheqiang 2002-02-20
  • 打赏
  • 举报
回复
为什么不能当两个表一样插入呢??
况且里面没有记录的,这个是新记录!
谢谢指点
julyclyde 2002-02-20
  • 打赏
  • 举报
回复
存储另外一半信息时,需要重新把那个记录给select出来,然后用rs修改
或者直接用SQL语句update
ehom 2002-02-20
  • 打赏
  • 举报
回复
而且你的user表信息可以在判断用户是否存在是写入!
ehom 2002-02-20
  • 打赏
  • 举报
回复
你的代码有大问题啊!不管用户名是否重复,数据都会被写入!
把end if放最后,现在end if的位置放else
把中间的
set rs=nothing
set rs=server.createobject("adodb.recordset")
去掉,只要close,不用set rs=nothing
最后的保留
馋嘴蜗牛 2002-02-20
  • 打赏
  • 举报
回复
我不喜欢用 RecordSet 来添加数据,我建议(不一定好):
1. 判断是否已经存在:select count(*) count from user where 用户名='"&username&"'"
2. 刚刚这句下面的 set rs = nothing 是不是应该放在 end if 后面呀
3. 如果没有这个用户,插入数据:
先生成一个 sql 语句:sql_exec = "insert into userinfor(字段....) values(值....)"
然后用你的连接去执行:conn.execute(sql_exec)
插入 user 表也是这样。
execute 时可以再加上一个不返回记录集的参数,是什么我忘了。这样,服务器就不用返回你那个 select * 的记录集了。
4. 而且 rs 不用每次用都 = nothing,呵呵,我是懒得用

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧