2016-03-30 3 views
1

Поскольку я новичок в PHP. У меня есть вопросы о том, как заблокировать доступ неавторизованных пользователей к конкретным страницам. Как и в случае с моими назначениями, я должен написать функцию блокировки некоторых типов пользователей.Блокировать неавторизованного пользователя от определенных страниц доступа (PHP)

Предположим, что

1.Logged Обычные пользователи имеют номер разрешения, как "NULL"

2.Normal Сотрудники имеют номер разрешения, как "1"

3.Authorized Сотрудники имеют номер разрешения, как «2»

4.Department Менеджеры имеют номер разрешения, как «3»

5.HR Менеджеры имеют номер авторизации как «4»

Это мой код на этой странице до сих пор, о котором я не знаю, какие коды я должен добавить и где на этой странице.

<?php 
session_start(); 
if (!isset($_SESSION['user'])) 
header("Location: login.php"); 
?> 

<div class="clearfix colelem" id="u4470"><!-- group --> 
<div class="clearfix grpelem" id="u1609-4"><!-- content --> 
    <p><span id="u1609">Recruiting</span></p> 
</div> 
</div> 
<div class="clearfix colelem" id="pu5139"><!-- group --> 
<div class="clearfix grpelem" id="u5139"><!-- group --> 
    <a class="nonblock nontext clip_frame grpelem" id="u4533" href="department-manager-tab.php"><!-- image --><img class="block" id="u4533_img" src="images/pasted%20image%202650x1756.jpg" alt="" width="510" height="341"/></a> 
    <a class="nonblock nontext clearfix grpelem" id="u4555-4" href="department-manager-tab.html"><!-- content --><p>Proceed as Department Manager</p></a> 
</div> 
<div class="clearfix grpelem" id="u5140"><!-- group --> 
    <a class="nonblock nontext clip_frame grpelem" id="u4547" href="hr-tab.php"><!-- image --><img class="block" id="u4547_img" src="images/how-to-hire-a-great-social-media-manager.jpg" alt="" width="510" height="341"/></a> 
    <a class="nonblock nontext clearfix grpelem" id="u4556-4" href="hr-tab.html"><!-- content --><p>Proceed as HR Staff</p></a> 
</div> 
</div> 

Тип пользователя 1 ("NULL") и тип 2 (номер разрешения, как "1") не должны иметь доступ к этой странице.

Как я могу это сделать? Спасибо заранее.

Ps. Коды могут быть немного беспорядочными из-за того, что коды экспортируются из adobe muse Ps2. Если есть что-то, что должно помочь, но оно не помечено, они также приветствуются.

+0

вам нужно: 1) зарегистрировать их в. 2) сохранить уровень доступа в сеансе. 3) убедитесь, что при загрузке страницы и выполнении чего-либо в соответствии с результатом проверки. – DevDonkey

ответ

3

Вы можете добавить условие к началу своего скрипта.

Предполагая, что уровень авторизации является переменной сеанса, вы можете добавить что-то вроде ниже к вашему коду;

<?php 

if($_SESSION['authLevel'] == NULL || $_SESSION['authLevel'] == 1) { 
    // Do something (A redirect for example) 
    exit; 
} 

?> 

Дополнительную информацию можно найти здесь;

Сессии: http://php.net/manual/en/book.session.php

если конструкция: http://php.net/manual/en/control-structures.if.php

Операторы сравнения: http://php.net/manual/en/language.operators.comparison.php

+0

Что делать, если я хочу всплывать предупреждающее сообщение перед перенаправлением этих пользователей? – gznero

+0

@ gznero Взгляните на функцию JS 'alert()' - Это может помочь вам http://stackoverflow.com/a/6871517/4781925 – JayIsTooCommon

+0

хорошо работает! Спасибо !!! – gznero

0

Возможно, что-то вдоль линий

<?php 

session_start(); 

//Permission groups allowed on page 
$access = array(1, 2, 3, 4); 

if (!isset($_SESSION['user'])) 
    header("Location: login.php"); 
} 

if(in_array($_SESSION['AuthLevel'], $access) == false){ 
    //Redirect to universally accessed page 
    header("Location: index.php"); 
} 

?> 
+0

Это также хороший способ сделать это, массив доступа позволяет легче изменить в будущем – JayIsTooCommon

Смежные вопросы