sjzfls 发表于 2008-6-27 15:12

在同一页面,这段代码如何做成不同用户登陆,看到的select选项不一样呢?

这段代码如何做成不同用户登陆,看到的select选项不一样呢?(class in(1,2)或者class in(2,3).....)
(我的 user 表里 有 user1、user2、use3 几个用户名,密码是 user1、user2、use3 )


代码如下:
<select name="newsclass" id="newsclass">
      <% '从newsclass表中读取新闻类别                                                                        
        Set Rs1 = Server.CreateObject("ADODB.RecordSet")
        Sql1="Select * From newsclass where class in(1,2) order by id asc"
        Rs1.Open Sql1,conn,3,3
        Do While not Rs1.EOF
        Response.Write "<option value=" & Rs1("class") & ">" & Rs1("title") & "</option>"
        Rs1.MoveNext
        Loop
        Rs1.Close
        Set Rs1=nothing
      %>
     </select>

有点类似后台管里 超级管理员和普通管理 看到的界面和权限不一至,但不同的普通管理员看到的 select 选项也不一样,该怎么做啊?

tianyu123 发表于 2008-6-27 18:22

在输出select选项时,加个判断即可

根据不同的用户,选择输出不同的select选项

Set Rs1 = Server.CreateObject("ADODB.RecordSet")
if 用户名字段="user1" then
Sql1="Select * From newsclass where class in(1,2) order by id asc"
elseif 用户名字段="user2" then
Sql1="Select * From newsclass where class in(2,3) order by id asc"
end if
Rs1.Open Sql1,conn,3,3

不夜星空 发表于 2008-6-28 08:51

又学到东西了!谢谢!

毐唻毐彺 发表于 2008-6-28 18:06

用 session 作个关联

sjzfls 发表于 2008-6-29 08:45

tianyu123 ,请问登陆 页面的代码该怎么写啊? [tk02]

multiple1902 发表于 2008-6-29 09:04

用户表里放个字段,说明一下这个用户属于哪个用户组。
选项表里放个字段,说明一下哪个组可以看到这个选项。

登录时取出用户所在的组,放到session里。
显示选项的时候读取选项表,得到用户能看到的选项们,构造select。

当然了,也不一定要放到session里。

multiple1902 发表于 2008-6-29 09:07

动网7的管理员后台就是另外一种方法了,用户表里“组”的字段直接存可用选项的id号集合,显示选项的时候就直接提取所有选项,或者用in的语句来显示。

sjzfls 发表于 2008-6-29 09:18

[quote][bo][un]multiple1902[/un] 在 2008-6-29 09:04 的发言:[/bo]

用户表里放个字段,说明一下这个用户属于哪个用户组。
选项表里放个字段,说明一下哪个组可以看到这个选项。

登录时取出用户所在的组,放到session里。
显示选项的时候读取选项表,得到用户能看到的选项们,构造 ... [/quote]


您的方法好象更好啊~~ 感谢~

不过就现在这个,登陆页面该怎么写啊??比如登陆页面,如果不存在用户或者密码不正确就提示从新输入等等,如果正确就跳转到添加页面~~~是不是还要用到 session 啊? 我弄不清了~ )
给出代码供小弟学习下啊~~~ [tk05]

multiple1902 发表于 2008-6-29 11:01

登录页面的功能是这样的:

首先,告诉用户:你登录成功了或者你登录失败了

这还不够,要赋予用户权限,比如把用户识别信息存到Cookie或者Session(preferred)中,这样在需要权限的页面,先从Cookie或Session集合中获取用户识别信息,如果没有当然就是没有权限了,如果有那么就按照得到的权限进行具体操作,比如打印选项啊之类的

sjzfls 发表于 2008-6-29 11:15

我的数据库表:

user表:

id            user               pass        
1             user1              123            
2             user2              456           


newsclass 表:

id            title               class      
1             国内新闻             1            
2             国际新闻             2           

能否给出 登陆页面和显示页面的 关键代码啊详细代码~ 供小弟学下[tk02]    感谢~

multiple1902 发表于 2008-6-29 11:20

其实我也不会写……太忙了

icecool 发表于 2008-6-29 13:43

登陆判断:

      user_name=request("username")         'user_name=user2
      user_pass=request("userpass")         'user_pass=456
  ^^^^^^^^^^^^^^^^
      selecte id,user,pass from user where user=user_name
          if rs("pass")=user_pass then
             session("id")=rs("id")                 'session("id")=2
             session("user_name")=rs("user")
           else
             response.write "密码错误"
             response.end
           end if

显示类别:
          news_class=session("id")
          select title,class from newsclass where id=news_class
             response.write rs("title")             'rs("title")="国际新闻"

icecool 发表于 2008-6-29 13:44

写个大概,你自已看明白就知怎么写了

页: [1]

编程论坛