有关登录的问题
我的设计构思是当用户输入自己的用户号和密码后,将自动搜索用户的权限,若权限为1,则进入系统主界面(即系统管理员)并可以进行所有的操作;若为2,则进入个人主界面(即普通用户),则只能浏览自己的个人信息以及修改登录密码,不能查看到其他人的信息。相关的表如下:
Admin数据表:
user_id:用户编号
pwd:密码
rank:用户类型
UserInfo数据表:
user_id
user_name
sex
depart_name
.
.
.(其他省略)
WorkInfo数据表:
depart_name(部门名称)
duties (职务)
user_id (用户编号)
其他省略
Login表单设置:
Init Event:
public rank
public cn
rank=0
cn=0
txt1:用户编号
txt2:密码
“确定”按钮代码:
if empty(thisform.Text1.value) or empty(thisform.Text2.value)
messagebox("对不起,输入不完整。",48,"提示信息")
thisform.Text1.value=''
thisform.Text2.value=''
else
use E:\database\admin
cuser_id=alltrim(thisform.text1.value)
ppwd=alltrim(thisform.text2.value)
set order to user_id
seek cuser_id
if alltrim(admin.user_id)!=cuser_id
cn=cn+1
cMessageTitle='管理信息系统'
cMessageText='用户名错误,请重新输入。'
nDialogType=4+32
nAnswer=messagebox(cMessageText,nDialogType,cMessageTitle)
do case
case nAnswer=6
thisform.text1.value=''
thisform.text1.setfocus
case nAnswer=7
cMessageTitle='管理信息系统'
cMessageText='请不要乱来'
messagebox(cMessageText,nDialogType,cMessageTitle)
thisform.release
endcase
if cn=3
thisform.release
endif
else
if alltrim(admin.pwd)!=ppwd
cn=cn+1
cMessageTitle='管理信息系统'
cMessageText='密码错误,请重新输入。'
nDialogType=4+32
nanswer=messagebox(cMessageText,nDialogType,cMessageTitle)
do case
case nAnswer=6
thisform.text2.value=''
thisform.text2.setfocus
case nAnswer=7
cMessageTitle='管理信息系统'
cMessageText='请不要乱来.'
messagebox(cMessageText,nDialogType,cMessageTitle)
thisform.release
endcase
if cn=3
thisform.release
endif
else
rank=admin.rank
thisform.release
use
if rank='1'
do form E:\form\sysmain.scx
else
do form E:\form\personalmain.scx
endif
endif
endif
endif
现有一个问题,想请教各位朋友:
现在能够在登录后进入相关的界面(即管理员窗口和个人窗口界面)。但如何使用户进入个人窗口界面后,只看到自己的信息,以及修改登录密码?应该如何改写以上的代码?(我在个人主界面中设置了一个3页的页框,分别为:浏览基本信息、浏览工作信息、修改密码)
由于本人的水平有限,代码可能写得也比较乱,所以希望能有朋友帮助,谢谢!
问题点数:0、回复次数:5Top
1 楼dfwxj(清风)回复于 2004-05-02 09:50:44 得分 0
很简单,根据用户号检索相应的类型,打开相应的表单即可
do case
case admin.rank=1
do form mainform
case admin.rank=2
do form userform
endcTop
2 楼jerryhrm(浪尽天涯)回复于 2004-05-04 16:24:02 得分 0
楼上说的不错,你还想控制其它的表面,只要case admin.rank后面再补上其它就OK了,如果你实现更复杂的就行重做一个表来控制Top
3 楼myfoxprox(雷锋)回复于 2004-05-05 14:56:36 得分 0
根据条件,限制不同页面的使用:
THISFORM.PAGEFRAME1.浏览基本信息.ENABLED=IIF(权限条件,.T.,.F.)
THISFORM.PAGEFRAME1.浏览工作信息.ENABLED=IIF(权限条件,.T.,.F.)
THISFORM.PAGEFRAME1.修改密码.ENABLED=IIF(权限条件,.T.,.F.)
Top
4 楼chenyuanjing(独行客)回复于 2004-07-16 00:30:00 得分 0
我是菜鸟。。。。
保存。。。
好文章。。。呵呵Top
5 楼boomit(boom)回复于 2004-07-16 09:25:38 得分 0
你在三个页框中用什么控件进行浏览信息的,文本框?不可能会用表格吧。如果是这样,文本框的数据源是用户信息表,你在主程序设一公共变量,通过这个变量记录是哪个用户(或者是哪条记录)已经登录。然后传递到用户修改信息的表单,把记录定位到此用户即可。文本框显示的只有此用户的信息。不会看到别人的。。。。不知道是不是此意思。。Top




