| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1432 人关注过本帖
标题:[求助]请问如何自动生成用户名??
取消只看楼主 加入收藏
tellmeok
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-9-1
收藏
 问题点数:0 回复次数:7 
[求助]请问如何自动生成用户名??

问题是这样的:我从网上下载的聊天室源码,经多次修改后终于成功。但它是要求用户登陆的,现在我想

修改成像一般聊天室做的那样,用户一进来不用登陆即可自动给一个用户名如"游客:20300003",不知道如何

修改实现。网上一个都搜不到啊.(注:我用的是asp ,ACCESS,空间不支持global.asp,以及session,application)
我的疑问是:要达到这样的目的,要不要写一个if判断,要不要写一个隐藏表单,如<input name="name",type="HIDDEN",Value=<%request(name)%>>之类?
下面是我的原代码,请高手告诉我如何修改后,插到我注释的下面“可能的接口处”。谢谢。

----------------------------
<%@codepage=936%>
<%Response.Buffer=true%>
<body bgcolor="#F8E17A">
<%if Request("name")="" then%>
<%addr=Request("REMOTE_ADDR")%>
<form method="POST" action="chatadd1.asp">
<p><input type="hidden" name="IP" value="<%

=addr%>"></p>

#####可能的接口处1########
<p>昵称:<input type="text" name="name"

size="15">
密码:<input type="password" name="pass"

size="15">
性别:<select name="D4" size="1" style="color:

rgb(0,0,128)">
<option value="先生">先生</option>
<option value="女士">女士</option>
</select>
<input type="submit" value="发送" name="B1">
<input type="reset" value="复原" name="B2"></p>
</form>
<%=Request("a")%>
<%else%>
<%
B1=Request("B1")
If B1="发送" Then
If Request("name")="" or Request("pass")=""

Then
a="名字或密码不能为空!<br>"
Response.Redirect "chatadd1.asp?a=" & a & " "
end if

##########可能的接口处2#########
dim Conn,sConnection
set Conn=Server.CreateObject

("ADODB.Connection")
sConnection =

"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data

Source=C:\sites\content\t\e\l\tellerx\db\chat.m

db;" & _
"Persist Security Info=False"
'Conn.Open(sConnection)
Conn.Open sConnection

sql="SELECT * FROM 用户表 WHERE 姓名='" &

Request("name") & "'"

Set Rs=conn.Execute(sql)
If Rs.Bof OR Rs.Eof Then
'sz="'"&Request("IP")&_"','"&Request("name")

&_"','"&Request("D4")&_"','"&Request("pass")

&"'"
sz="'"&Request("IP")&"','"&Request("name")

&"','"&Request("D4")&"','"&Request("pass")&"'"
into_db = "INSERT INTO 用户表 (IP, 姓名, 性别,

密码) VALUES(" &sz & ")"

Conn.Execute(into_db)
Else
If Request("pass")<>Rs("密码") Then
a="这个名字已经被别人使用,或者你输入的口令不

对!<br>"
Response.Redirect "chatadd1.asp?a=" & a & " "
end if
end if
#########可能的接口处3##############重要
time1=now
'Set Conn=Server.CreateObject

("ADODB.Connection")
'Connstr="DBQ="+server.mappath

("tellerx/db/chat.mdb")+";DRIVER={Microsoft

Access Driver (*.mdb)};"
'Conn.Open connstr

set Conn=Server.CreateObject

("ADODB.Connection")
sConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data

Source=C:\sites\content\t\e\l\tellerx\db\chat.m

db;" & _
"Persist Security Info=False"
Conn.Open sConn

sql="SELECT * FROM 在线用户表 WHERE 姓名='" &

Request("name") & "'"
Set Rs=conn.Execute(sql)
If Rs.Bof OR Rs.Eof Then
'sz = "'" & Request("name") &_"', '"& Request

("D4") &_"', '"& time1 & "'"
sz = "'" & Request("name") &"', '"& Request

("D4") &"', '"&time1&"'"
into_db="INSERT INTO 在线用户表 (姓名,性别,登录

时间) VALUES(" &sz & ")"
Conn.Execute(into_db)

name=Request("name")
sex=Request("D4")
#########至此应该接口完毕############
ming="※管理员宣布…"
sz2= "<font color=red>"&"热烈欢迎" & "</font>

<font color=#006600>"&name & sex &"

</font>"&"<font color=red>"&"的光临"

into_db2 = "INSERT INTO 聊天表 ( 姓名,说话 )

VALUES('" & ming & "','" & sz2 & "')"
Conn.Execute(into_db2)

end if
end if%>

搜索更多相关主题的帖子: 用户名 自动 
2006-09-01 21:44
tellmeok
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-9-1
收藏
得分:0 
怎么没有一个人回答啊!!!!是不屑于回答还是回答不了?给一个思路也可以嘛.谢谢能帮我的朋友.我可是外行啊,现在我正在自己探索,可以给一个编号,但不知多线程能否自动加1.如我的机器显示是"1000001",其他不知能否是10000002,1000003.....
只是离线处理不了,老是"进入"而不是离开.........郁闷
2006-09-03 17:17
tellmeok
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-9-1
收藏
得分:0 
我用的是自动加1,而不是随机,如第一个用户为100000001,第二个进来的为100000002.......
2006-09-03 19:45
tellmeok
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-9-1
收藏
得分:0 
谢谢各位,很有启发.尚须努力.
2006-09-03 21:48
tellmeok
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-9-1
收藏
得分:0 
以下是引用google在2006-9-3 20:32:36的发言:
在不支持SESSION与APPLICATION的服务器中,单靠数据库是很难做到判断谁在线的
可以在每当有用户发言的时候或者每当有用户登陆的时候做数据库搜索,搜索所有用户发言的最后时期,如果这个时间和现在系统的时间做对比的话,如果大于20分钟,则删除这个人的信息和他的发言,并显示他已经离线

我原来需要用户名和密码的程序中,有一个"离开聊天室"按钮,可以处理用户离开;但改用无用户名登陆(即游客方式)后,原语句未动,但当按下此按钮后,却转到"XXX进入聊天室"的语句(应执行"XXX离开聊天室",而且程序中是针对此有此语句的),莫名其妙.........

2006-09-03 23:51
tellmeok
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-9-1
收藏
得分:0 
以下是引用syh878在2006-9-4 18:37:00的发言:
用APPLICATION判断用户登陆下线情况,用fso来读取文本数字

谢谢您以及各位朋友.我已说明,我的空间不能用application和seesion. 用fso估计也不会支持,且较麻烦.

如果哪位,贡献一个简单程序(语句),怎样判断有新用户进来,新用户进来如何自动给他赋名,并且在以前用户基础上自动加1,本人将不胜感激.期待..........

2006-09-05 08:54
tellmeok
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-9-1
收藏
得分:0 
希望高手用实例回答我的问题.可能许多朋友都想知道这个问题该怎么解决.谢谢谢谢再谢谢.
2006-09-05 16:11
tellmeok
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-9-1
收藏
得分:0 
还请高手指教.
2006-09-06 10:37
快速回复:[求助]请问如何自动生成用户名??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017972 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved