2014-11-05 2 views
-1

모든 회원이 사용할 수있는 핵심 기능 세트와 함께 사이트 회원을 위해 예약 된 일련의 특수 기능을 갖춘 사이트를 개발 중입니다. 예를 들어 모든 사용자는 게시물을 볼 수 있지만 회원 만 태그를 포함하고 게시물을 공유 할 수 있습니다. html 출력까지 추가 기능을 사용하면 게시물 내에 몇 가지 추가 아이콘이 생깁니다. 내가 찾고있는 것은 회원을위한 기능을 예약하는 가장 좋은 방법에 대한 안내입니다. 예를 들어, 내가 생각해 왔던 두 가지 옵션은 다음과 같습니다 비회원의 사이트와 회원 버전의 버전을 만들기
회원을위한 일부 사이트 기능 제한

방법 1
1. 회원을위한 버전에는 비회원 사이트 전체와 추가 기능을 구현하는 데 필요한 추가 코드 (html, css, js 등)가 포함됩니다. 그런 다음 쿠키 및/또는 세션을 사용하여 사용자의 상태를 확인하고 올바른 버전의 사이트로 리디렉션합니다.

방법 2
2. 하나의 버전을 가졌어요. 추가 기능 (예 : 몇 가지 추가 아이콘)은 기본적으로 숨겨져 있으며 사용자가 로그인 할 때만 표시됩니다 (사용자가 사용 중지하는 것에 대해 걱정할 필요가없는 일부 j가 필요함).

이러한 유형의 문제를 검색 한 결과 사용자 관리 수준, 사용 권한 및 WordPress의 플러그인과 관련하여 여러 가지 해결책이있었습니다. 이들 중 어느 것도 다른 아이디어가 있다면 정말 적용되지 않습니다. 그렇지 않은 경우 위의 방법에 대한 의견을 보내 주시면 감사하겠습니다. 미리 감사드립니다.

+2

당신은'PHP로이 태그했습니다 '과'세션'. 당신은 이미 당신의 대답을 가지고 있습니다 ... – rjdown

+0

@rjdown 제가 잘못하지 않았다면, 제가 나열한 두 가지 고려 사항은 php/session으로 구현 될 수 있습니다. 그것만으로는 어느 것이 더 나은 해결책인지 결정하는 데 정말로 도움이되지 않습니다. – wheresmyspaceship

+0

하나의 사이트를 만들고 사용자가 로그인되어 있고 특정 역할이 지정된 경우 (admin/not admin) 숨기고 표시합니다. 요점 2)에서 당신은 잘못 생각합니다. PHP에서 세션을 사용하여 기능을 표시하거나 숨길 수 있습니다. Javascript는 케이크 위에 장식되어 있지만 다른 사용자 그룹에 추가 기능과 영상을 숨기지 않는 원동력입니다. – Rasclatt

답변

0

그냥 세션 사이를 전환하기 위해 index.php 페이지에서 설명, 또는 어떤 페이지, 테스트를 위해, 맨 위에이 코드를 붙여 링크를 사용합니다 :

<?php session_start(); ?> 

<a href="?admin=1">Admin User</a> 
<a href="?admin=0">Not Admin</a> 
<a href="?admin=base">Not logged in</a> 

<?php 
if(isset($_GET['admin']) && $_GET['admin'] == 1) 
    $_SESSION['admin'] = true; 
elseif(isset($_GET['admin']) && $_GET['admin'] == 0) 
    $_SESSION['admin'] = false; 

if(isset($_GET['admin']) && $_GET['admin'] == 'base') 
     if(isset($_SESSION['admin'])) unset($_SESSION['admin']); 

if(isset($_SESSION['admin']) && $_SESSION['admin'] == true) { ?> 
    <p>You are admin and this is your image</p> 
    <img src="http://s.hswstatic.com/gif/african-tree-frog.jpg" /> 
<?php } elseif(isset($_SESSION['admin']) && $_SESSION['admin'] == false) { ?> 
    <p>You are NOT admin but logged in. This is your image.</p> 
    <img src="http://news.nationalgeographic.com/news/2005/10/images/051007_robot_fish.jpg" /> 
<?php } 

    if(!isset($_SESSION['admin'])) { ?> 
    <h2>You are not logged in!</h2> 
    <?php } ?> 

<p>This is a site about animals. Everyone can read this.</p> 
<?php session_destroy(); ?> 
+0

감사합니다! 이것은 내가 필요한 것을 만들기위한 좋은 출발점입니다. – wheresmyspaceship