>  기사  >  백엔드 개발  >  Session을 통해 사용자 작업 권한을 판단하는 방법에 대한 자세한 예

Session을 통해 사용자 작업 권한을 판단하는 방법에 대한 자세한 예

伊谢尔伦
伊谢尔伦원래의
2017-04-28 11:43:526169검색

대부분의 웹사이트 개발 과정에서는 관리자와 일반 사용자의 권한을 나누어 웹사이트를 운영하는 것이 보다 현실적입니다. 구체적인 코드 예시를 통해 포괄적인 설명을 해보자. 친구들에게 보다 직관적인 경험을 제공하기 위해 이전에 배운 지식을 결합하여 코드와 아이디어를 향상시킬 수 있습니다.

먼저, 사용자 로그인 페이지에서 제출한 사용자 정보를 통해 사용자의 웹사이트 운영 권한을 확인합니다.

구체적인 개발 단계는 다음과 같습니다.

(1) 로그인 페이지를 디자인하고, 폼을 추가하고, POST를 사용하여 액션이 가리키는 데이터 처리 페이지가 기본입니다. php 에 사용자 이름 텍스트 상자를 추가하고 이름을 user로 지정하고, 비밀번호 필드 텍스트 상자를 추가하고 이름을 pwd로 지정하고 제출 버튼을 통해 점프를 제출합니다.

<!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  密  码:111 </span>
              <br><br>
              <span>普通用户: tom  密  码:000 </span>
            </td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
</form>
</body>
</html>

(2) "제출" 버튼의 클릭 이벤트에서 사용자 정의 함수 check()를 호출하여 양식 요소가 비어 있는지 확인합니다. 여기서는 자바스크립트 코드가 검증을 위해 사용됩니다. 자바스크립트에 대한 지식을 직접 보충하시기 바랍니다. 사용자 정의 함수 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() 함수를 사용하여 세션 변수를 초기화한 후 POST 메서드를 사용하여 양식 요소의 값을 받고, 얻은 사용자 이름과 비밀번호를 각각 세션 변수에 할당합니다.

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

(4) 다른 사용자가 시스템에 불법적으로 로그인하는 것을 방지하기 위해 if 조건문을 사용하여 세션 변수의 값을 판단합니다. 여기서는 자바스크립트에 대한 지식이 이어지며 코드는 다음과 같습니다.

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

(5) 데이터 처리 페이지 default.php에 다음 탐색 바코드를 추가하여 현재 사용자 수준을 확인하여 로그인한 사용자가 관리자인지 일반 사용자인지 확인하면 차별화된 출력이 표시됩니다.

<table align="center" cellpadding="0" cellspacing="0">
 <tr align="center" valign="middle">
   <td style="width: 140px; color: red;">当前用户:
     <!-- 输出当前登录用户级别-->
     <?php
       if($_SESSION[&#39;user&#39;]=="admin"&&$_SESSION[&#39;pwd&#39;]=="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[&#39;user&#39;]=="admin"&& $_SESSION[&#39;pwd&#39;]=="111") {   //如果当前用户是管理员
      //如果当前用户是管理员 则输出 用户管理
      echo   &#39;<td width="100">|<a href="default.php">用户管理</a><td>&#39;;
     }
   ?>
   <td width="100">|<a href="safe.php">注销用户</a><td>
 </tr>
</table>

(6) 위의 default.php 페이지에 "사용자 로그아웃" 하이퍼링크 페이지 safe.php를 추가하고 safe.php에 다음 코드를 작성하여 사용자 세션을 삭제하고 로그인 페이지로 돌아갑니다.

<?php
 session_start();                  //初始化 session
 unset($_SESSION[&#39;user&#39;]);            //删除用户名会话变量
 unset($_SESSION[&#39;pwd&#39;]);             //删除密码会话变量
 session_destroy();                 //删除当前所有会话变量
 header("location:index.php");         //跳转到用户登录页
?>

(7) 웹사이트에서 이 예제 실행 사용자 로그인 페이지에 사용자 이름과 비밀번호를 입력하고 웹사이트에 슈퍼유저로 로그인하거나 일반 사용자로 로그인하여 실행합니다.

php 중국어 웹사이트 학습 주제: php 세션 (사진, 동영상, 사례 포함)

위 내용은 Session을 통해 사용자 작업 권한을 판단하는 방법에 대한 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.