2012-04-25 4 views
1

나는 php-html-mysql으로 디자인 된 웹 사이트를 운영하고 있습니다. 사용자 로그인 시스템이 있습니다. 사용자 유형은 관리자 PHP의 간단한 로그인 시스템

  • 사용자
  • 방문자
  • 사용자의 3 종류 페이지에서 서로 다른 액세스 유형이 3

    1. 입니다. 메뉴 항목이 다릅니다. 관리자는 일부 정보를 편집, 삭제, 업데이트 할 수는 있지만 무료 사용자는 할 수 없다고 말합니다.

      나는 페이지를 만들었습니다. 하지만 어떻게 모든 페이지의 액세스가 다를 수 있습니까? 내 말은, 모든 페이지에 메뉴를로드해야한다는 것입니다. 하지만 관리자의 경우 메뉴 항목은 사용자가 아닌 다른 방문자와 다를 수 있습니다.

      세션을 사용하려고하는데 사용 방법을 잘 모르겠습니다. 내 시나리오에 어떻게 적용 할 수 있는지 설명합니다.

    +0

    사용자 데이터를 저장하는 데이터베이스에 대한 액세스 권한이 있습니까? (예를 들어 MYSQL 데이터베이스는 이런 종류의 일에 매우 일반적입니다) –

    +3

    http://stackoverflow.com/questions/4265336/creating-user-roles와 같은 기존 질문을 확인하는 것은 어떻습니까 – Shoban

    +0

    @BenjaminGruenbaum 예. 나는 mysql 데이터베이스를 가지고 로그인은 db에 의해 관리된다. 로그인 후 어떻게 사용자 (ADMIN/User/Visitor)인지 기억할 수 있습니까? –

    답변

    0

    어떤 페이지에서 사용자를 확인하십시오. 당신이 didn를하기 때문에 사용자를 저장하고 위치를

    <?php 
    
    if ($_SESSION['user']['user_type'] != 'admin') { 
        die('You do not have permission to view this page.'); 
    } 
    
    // continue showing edit form 
    

    나는 세션 구조 또는 데이터베이스 구조의 셋업을 모르는 : 당신이 edit.php 스크립트가 경우에 따라서, 상단에 그것을 확인 그 (것)들을 제공하지 않는다, 그래서 이것은 나가 - 또는 누군가 제안 할 수있는 베스트이다.

    0

    사용자 테이블의 데이터베이스에서 "user_level"또는 0 또는 1 개의 가능한 값을 가진 다른 필드를 생성해야합니다 ... 사용자 수준이 0이면 사용자가 단순 사용자이고, 그렇지 않으면 1이 사용자이고 관리자. 그리고 사용자 로그인시 'user_level'필드에서 'user_level'세션을 저장하십시오. 모든 페이지 체크에 그런

    는 :

    <? 
    if($_SESSION['user_level'] == 1) { display_menu_for_admin(); } 
    ?> 
    
    0

    먼저 액세스 수준을 작성해야합니다. 먼저 세션, 메뉴를 처리하기 위해 별도의 파일을 만드십시오. 파일에 대한 액세스를 결정하는 클래스를 만듭니다. 모든 페이지에서이 클래스 함수를 호출하면 액세스 수준이 완료됩니다.

    예를 들어 메뉴 항목을 처리 할 파일을 만듭니다. 완전히 다른 경우 액세스 수준에 따라 파일을 전환하십시오. 또한 메뉴에 약간의 변화가있을 경우 else 조건 만 추가하면됩니다. 이렇게하면 더 쉬운 메뉴 시스템을 얻을 수 있습니다. 다른 사이트 기능에이 기능을 적용하십시오. 예 : Mange 사이트 변수 등. 관리자 사용자에게만 액세스 권한이 부여됩니다.