快撸三合一BS用户管理模块,撸完就去泡咖啡,谁能享受人生?

 子曰:“温故而知新,可以为师矣。

大家好,我是秦时明月。上次我记录了利用“猫框”实现BS系统登录界面,今天我们实验一下BS应用系统之用户管理模块,前提是先抛开CSS样式在网页中应用和软件操作权限控制,只聊实现这一功能的操作方式。

先看一下我们要实现的界面效果:

01—第一次打开页面时的样子:

快撸三合一BS用户管理模块,撸完就去泡咖啡,谁能享受人生?_第1张图片

02—当你输入昵称“ALL”点“查询”之后的样子

快撸三合一BS用户管理模块,撸完就去泡咖啡,谁能享受人生?_第2张图片

03—当你输入查询昵称“jiafeimao”点“查询”之后的样子:

快撸三合一BS用户管理模块,撸完就去泡咖啡,谁能享受人生?_第3张图片

04—当你输入昵称和密码之后点击“添加”之后的界面

快撸三合一BS用户管理模块,撸完就去泡咖啡,谁能享受人生?_第4张图片

快撸三合一BS用户管理模块,撸完就去泡咖啡,谁能享受人生?_第5张图片

好了,通过以上的界面,我们知道了我们今天要试验的内容。接下来,我们来准备试验的文件。

1 当然是建表了wuser.dbf

快撸三合一BS用户管理模块,撸完就去泡咖啡,谁能享受人生?_第6张图片

2.BS网页文件clryxx.htm

用户管理模块  
<% if not empty(cname)%>
<% scan %>
<% endscan %>
用户ID昵称 密码操作
<%endif %>
用户ID昵称 密码操作

看着很多,实际上要关注的是以下的代码,这是输入查询条件的代码

  

这是中间列表部分的代码(列表,修改)

 <% if not empty(cname)%>    
<% scan %>
<% endscan %>
用户ID昵称 密码操作
<%endif %>

看下方的新增功能模块

                
用户ID昵称 密码操作
利用了三个
标签,提交给处理文件action=”clryxx.fsp”,除了“查询”按钮,其他按钮都有属性name=”act”,那么我们就来看看clryxx.fsp的代码。
define class clryxx as session       procedure ondefault            private   cname,cid,cuid,cuname,ccpwd,cact        && 以下是获取网页传递过来的参数 无论是get or post           && 至于谁被传递过来是由触发提交表单的按钮决定的        cname=allt(httpqueryparams("lkname"))        cact=allt(httpqueryparams("act"))        cid=allt(httpqueryparams("id"))        cuid=allt(httpqueryparams("uid"))        cuname=allt(httpqueryparams("uname"))        ccpwd=allt(httpqueryparams("upass"))        && 以下根据  name="act" 的 值决定进行什么操作   3 ad 2 del 1 edit  其他是查询        do case             case cact="3" && 添加动作                    return this.actadd(cuname,ccpwd)               case cact="2" &&  删除动作                    return this.actdel(cid)               case cact="1"  && 添加动作             return this.actedit( cid,cuid,cuname,ccpwd)         other && 查询动作                   return this.showlookinfo(cname)              endcase        endpro          proce  showlookinfo            lpara s            if not used('wuser') then            sele 0           use wuser        endif         sele wuser        if UPPER(s)<>"ALL" then           set filter to  "&s"$allt(uname)             endif         set dele on         go top                  _currentcode="UTF-8"        chtml=getwwwrootpath("")+"clryxx.htm"        chtml= FWS_MergeFile(chtml)        use in select('wuser')        set dele off         return chtml                endproc             proc  actadd     lpara cuname,ccpwd     if not used('wuser') then         sele 0        use wuser     endif              sele wuser          &&      这里是生成新序号     select max(uid) uid  from wuser into cursor TJ     sele tj      private lsid     lsid=allt(subs(uid,2))     lsid="A"+padl(int(val(lsid))+1,4,"0")     use in select('tj')          sele wuser    appe blank     repl uid with lsid,uname with cuname,upwd with ccpwd     use in select('wuser')     return this.showlookinfo(cuname)         endpro            proc actdel          lpara cid          private cmdstr          if not used('wuser') then              sele 0             use wuser          endif                   sele wuser          set dele on                  cmdstr=" dele for id="+cid          &cmdstr          use in select('wuser')          set dele off           return this.showlookinfo("")      endpro            proc actedit          lpara    cid,cuid,cuname,ccpwd          if not used('wuser') then              sele 0             use wuser         endif                  sele wuser         set dele on                 cmdstr=" loca for id="+cid         &cmdstr         if found()             repl uname with cuname             repl upwd with ccpwd         else            cuname=""         endif          use in select('wuser')         set dele off            return this.showlookinfo(cuname)             endprocenddefi

猫框项目中启动调试服务器,然后在地址栏里输入http://IP:801/clryxx.fsp。而不是输入 clryxx.htm,不妨自己在地址栏试验一下,看有什么区别,为什么?欢迎在评论区留言。

你可能感兴趣的:(VFP,ui)