• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

如何通过Session对用户操作权限进行判断的实例详解

php 搞代码 4年前 (2022-01-22) 20次浏览 已收录 0个评论

在大多数的网站开发过程中,更具实际的需要,需要划分管理员和普通用户对操作网站的权限。下面通过一个具体的代码实例进行一下全面的讲解。给朋友们更直观的感受,可以综合前面学过的知识,让自己的代码和思路有一定的提升。

首先通过用户登录页面提交的用户信息来验证用户操作网站的权限。

具体开发步骤如下所示:

(1) 设计一个登陆的页面,添加一个form表单,使用POST方式进行参数传递, action 指向的数据处理页面为 default.php , 添加一个用户名文本框并命名为 user,添加一个密码域文本框并命名为 pwd ,通过submit按钮进行提交跳转,其主要的代码如下所示。

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Title</title>  <script type="text/javascript"> function check(form){ if(form.uesr.value == ""){ alert("请输入用户名");      } if(form.pwd.value == ""){ alert("请输入密码");      } form.submit();    }  </script></head><body><form name="form1" method="post" action="default.php">  <table width="520" height="390" border="0" cellpadding="0" cellspacing="0">    <tr>      <td valign="top">        <table width="520" border="0" cellspacing="0" cellpadding="0">          <tr>            <td height="24" align="right">用户名:</td>            <td height="24" align="left">              <input name="user" type="text" id="user" size="20">            </td>          </tr>          <tr>            <td height="24" align="right">密 码:</td>            <td height="24" align="left">              <input name="pwd" type="password" id="pwd" size="20">            </td>          </tr>          <tr align="center">            <td height="24" colspan="2">              <input name="submit" type="submit" value="提交" onclick="return check(form);">              <input type="reset" name="reset" value="重置">            </td>          </tr>          <tr>            <td height="76">              <span>超级用户: admin &nbsp;密  码:111 </span>              <br><br>              <span>普通用户: tom &nbsp;密  码:000 </span>            </td>          </tr>        </table>      </td>    </tr>  </table></form></body></html>

(2)在 “提交” 按钮的单击事件下,调用自定义函数 check() 来验证表单元素是否为空。这里使用了javascript代码进行验证,有关javascript的知识请自行补脑。自定义函数 check() 代码如下:

<script type="text/javascript">   function check(form){     if(form.uesr.value == ""){       alert("请输入用户名");     }     if(form.pwd.value == ""){       alert("请输入密码");     }     form.submit();   } </script>

(3) 提交表单元素到数据处理页 default.php。首先使用 session_start() 函数初始化 session变量,在使用 POST方法 接收表单元素的值,将获取的用户名和密码分别赋值给 session变量,其代码如下所示:

<?php session_start(); $_SESSION['user']=$_POST['user']; $_SESSION['pwd']=$_POST['pwd'];?>

(4)为防止其他用户非法登录本系统,使用if 条件语句对 session变量的值进行判断,这里继续使用了javascript的知识,其代码如下所示:

<?php if($_SESSION['user']==""){   echo '<script type="text/javascript">alert("请使用正确途径登录"); history.back();</script>'; }?>

(5)在数据处理页面 default.php 中添加如下的导航栏代码,判断当前用户的级别,看已登录的用户是管理员还是普通用户,然后区别的输出显示:

<table align="center" cellpadding="0" cellspacing="0"> <tr align="center" valign="middle">   <td style="width: 140px; color: red;">当前用户:     <!-- 输出当前登录用户级别-->     <?php       if($_SESSION['user']=="admin"&&$_SESSION['pwd']=="111"){         echo "管理员";       }else{         echo "普通用户";       }     ?>   </td>   <td width="70"><a href="default.php">首页</a><td>   <td width="70">|<a href="default.php">文章</a><td>   <td width="70">|<a href="default.php">相册</a><td>   <td width="100">|<a href="default.php">修改密码</a><td>   <?php     if($_SESSION['user']=="admin"&& $_SESSION['pwd']=="111") {   //如果当前用户是管理员      //如果当前用户是管理员 则输出 用户管理      echo   '<td width="100">|<a href="default.php">用户管理</a><td>';     }   ?>   <td width="100">|<a href="safe.php">注销用户</a><td> </tr></table>

(6)在上面的 default.php 页面中添加 “注销用户”的超链接页面 safe.php,并在 safe.php 中写入如下的代码,进行删除用户 Session,返回登录页面:

<?php session_start();                  //初始化 session unset($_SESSION['user']);            //删除用户名会话变量 unset($_SESSION['pwd']);             //删除密码会话变量 session_destroy();  <strong>*本文来@源gao@daima#com搞(%代@#码@网2</strong><pre>搞代gaodaima码

//删除当前所有会话变量 header("location:index.php"); //跳转到用户登录页?>

(7) 运行这个实例,在网站用户登录页面输入用户名和密码 ,分别以超级用户的身份登录网站或者使用普通用户身份登录网站运行一下。

以上就是如何通过Session对用户操作权限进行判断的实例详解的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:如何通过Session对用户操作权限进行判断的实例详解

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址