2014-11-05 59 views
-1

我正在開發一個網站,其中包含一組可供所有人使用的核心功能,以及一組爲網站成員保留的特殊功能。例如,所有用戶將能夠查看帖子,但只有成員能夠包含標籤,分享帖子等。就html輸出而言,額外的功能只會在帖子內產生一些額外的圖標。我正在尋找的是爲成員預留功能的最佳方式的指導。舉例來說,我一直在考慮兩個選項:
限制成員的某些網站功能

方法1
1.創建一個版本的網站,非會員和會員的一個版本。成員的版本將包括整個非會員網站以及實現額外功能所需的附加代碼(html,css,js等)。然後會使用Cookies和/或會話來檢查用戶的狀態並將其重定向到正確版本的網站。

方法2
2.有一個版本。額外的功能(即一些額外的圖標)會默認隱藏,並且只有在用戶登錄時纔會顯示。(這可能需要一些js,我並不擔心用戶禁用)。

搜索此類問題返回了一堆有關用戶管理員級別,權限和wordpress插件的解決方案。這些都不適用,所以如果你有任何其他想法,真棒!如果沒有,我會非常感謝您對上述方法的反饋。提前謝謝了。

+2

你用'PHP這個標記'和'會話'。你已經有你的答案... – rjdown 2014-11-05 19:05:15

+0

@rjdown如果我沒有弄錯,我列出的兩個考慮因素都可以用php/session實現。單憑這一點並不能幫助我確定哪一個更好。 – wheresmyspaceship 2014-11-05 19:10:50

+0

製作一個網站,並在用戶登錄時隱藏並顯示,併爲其分配一定的角色(admin/not admin)。在第2點)你認爲是錯誤的。您可以在php中使用會話顯示和隱藏功能。 Javascript是蛋糕上的錦上添花,但不是隱藏額外功能和視覺效果給不同用戶羣體的驅動力。 – Rasclatt 2014-11-05 19:16:28

回答

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 2014-11-05 21:55:16

相關問題