Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Создание сессии администратора сайта

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Как выглядит запрос
phphtmlcss
Отправлено: 19 Января, 2013 - 20:37:27
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)

[+][+][+]


Уважаемы посетители и гуру данного форума!
Столкнулся с во такой проблемой.

Есть сайт, на сайте реализована регистрация и авторизация пользователей!

Написал функцию для скрытия контента от гостей, в тоже время начал понимать что нужен и администратор сайта, ну разумеется для управления сайтом в целом, и вот вуаля!

КАК это осуществить!
сделал так!
1. Создал отдельную таблицу
2. Создал администратора сайта
3. Вытащил через запрос все работает, но скрытие контента на него влияет, то есть, я не могу просматривать весь контент и нахожусь как гость а ни как Админ!

Получается так, что у меня на сайте есть теперь 2 сессионных массива.
1-й Для юзеров.
2-й Для админиа.

Для первой сессии я прикрутил регулярку которую описал в функции, а вторую сессию не могу понять как поместить в соответствующий запрос, что бы администратор был на сайте как Адми а не как гость!

код с регуляркой!
PHP:
скопировать код в буфер обмена
  1.  
  2. function hide($conect){
  3. if(!$_SESSION['open']['user']){
  4. $preg = '#\[hide].*?\[/hide]#is';
  5. $conect = preg_replace($preg, '<div class="avtorization_user_hide"><li><b>Вы не зарегистрированны и не имеете полный доступ к информации, <a href="http://webyslygi.com/usersreg.php">Зарегистрироваться!</a></b></li></div>', $conect);
  6. echo $conect;
  7. }else{
  8. $preg = '#\[hide](.*?)\[/hide]#is';
  9. $conect = preg_replace($preg, '<div class="user_close_hide">$1</div>', $conect);
  10. echo $conect;
  11. }
  12. }
  13.  


так вот такой вопрос! можно ли в этот код добавить данную сессию
PHP:
скопировать код в буфер обмена
  1.  
  2. if($_POST['submit1']){
  3. admin();
  4. }
  5.  
  6. function admin(){
  7.          $login = trim(mysql_real_escape_string($_POST['login']));
  8.                  $pass = trim($_POST['pass']);
  9.                  
  10.                  if(empty($login) OR empty($pass)){
  11.                  $_SESSION['admin']['no'] = "<p>Не админ</p>";
  12.                  }else{
  13.                  $pass = md5($pass);
  14.                  $admin = mysql_query("SELECT `login` FROM `reg` WHERE `login`='$login' AND `pass`='$pass'");
  15.                  $row_admin = mysql_fetch_row($admin);
  16.                  if(mysql_num_rows($admin)){
  17.                  $_SESSION['good']['avtorization'] = $row_admin[0];
  18.                  }else{
  19.                  $_SESSION['admin']['no'] = "<p>Не админ</p>";
  20.                 }
  21.         }
  22.  
  23. }
  24.  


Я не исключаю тот факт что действуй не верно, если это так то прошу посоветовать как правильно действовать!

Спасибо заранее!!!

(Отредактировано автором: 19 Января, 2013 - 20:39:51)

 
 Top
vanicon
Отправлено: 19 Января, 2013 - 21:15:06
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




Блин ну наворотили...
Самое простое решение, это:
Записываем в сессию тип пользователя (admin|user|guest)
и в коде проверяем этот тип на соответствие, небольшой пример:
PHP:
скопировать код в буфер обмена
  1. // авторизация
  2. $_SESSION['type'] = 'user'; //заходим под простым пользователем
  3. // какое-то действие
  4. if ($_SESSION['type'] == 'admin' or $_SESSION['type'] == 'user'){
  5. echo 'действие только для пользователя или админа';
  6. }
  7. .....

Ps. И не надо там никаких отдельных таблиц, таблица одна users, а туда уже можно поле внедрить, которое характеризует права пользователя


-----
Так было, так есть и так будет
 
 Top
phphtmlcss
Отправлено: 19 Января, 2013 - 22:53:57
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)

[+][+][+]


vanicon пишет:
Блин ну наворотили...
Самое простое решение, это:
Записываем в сессию тип пользователя (admin|user|guest)
и в коде проверяем этот тип на соответствие, небольшой пример:
PHP:
скопировать код в буфер обмена
  1. // авторизация
  2. $_SESSION['type'] = 'user'; //заходим под простым пользователем
  3. // какое-то действие
  4. if ($_SESSION['type'] == 'admin' or $_SESSION['type'] == 'user'){
  5. echo 'действие только для пользователя или админа';
  6. }
  7. .....

Ps. И не надо там никаких отдельных таблиц, таблица одна users, а туда уже можно поле внедрить, которое характеризует права пользователя


Я извиняюсь! можно показать на моей авторизации!
PHP:
скопировать код в буфер обмена
  1.  
  2. function avtorization(){
  3.          $login = trim(mysql_real_escape_string(strip_tags($_POST['login'])));
  4.                  $pass = trim($_POST['pass']);
  5.                  if(empty($login) OR empty($pass)){
  6.                  $_SESSION['avtorization']['error'] = "<p>Логин или пароль не верны</p>";
  7.                  }else{
  8.                  $pass = md5($pass);
  9.                  $x = mysql_query("SELECT `login` FROM `users` WHERE `login`='$login' AND `pass`='$pass'") or die(mysql_error());
  10.                  $row_x = mysql_fetch_row($x);
  11.                  if(mysql_num_rows($x)){
  12.                  $_SESSION['hello']['user'] = $row_x[0];
  13.                  }else{
  14.              $_SESSION['avtorization']['error'] = "<p>Логин или пароль не верны</p>";
  15.         }
  16.   }
  17. }
  18.  


Я так понимаю тут существует уже две сессии, мне надо прятать в сессию админа, панель администратора!
Покажите как это все склеить во иди но! опыта у меня маловато, пол года, прошу не удивляйтесь на столь простые вопросы!
 
 Top
phphtmlcss
Отправлено: 20 Января, 2013 - 02:13:42
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)

[+][+][+]


phphtmlcss пишет:
vanicon пишет:
Блин ну наворотили...
Самое простое решение, это:
Записываем в сессию тип пользователя (admin|user|guest)
и в коде проверяем этот тип на соответствие, небольшой пример:
PHP:
скопировать код в буфер обмена
  1. // авторизация
  2. $_SESSION['type'] = 'user'; //заходим под простым пользователем
  3. // какое-то действие
  4. if ($_SESSION['type'] == 'admin' or $_SESSION['type'] == 'user'){
  5. echo 'действие только для пользователя или админа';
  6. }
  7. .....

Ps. И не надо там никаких отдельных таблиц, таблица одна users, а туда уже можно поле внедрить, которое характеризует права пользователя


Я извиняюсь! можно показать на моей авторизации!
PHP:
скопировать код в буфер обмена
  1.  
  2. function avtorization(){
  3.          $login = trim(mysql_real_escape_string(strip_tags($_POST['login'])));
  4.                  $pass = trim($_POST['pass']);
  5.                  if(empty($login) OR empty($pass)){
  6.                  $_SESSION['avtorization']['error'] = "<p>Логин или пароль не верны</p>";
  7.                  }else{
  8.                  $pass = md5($pass);
  9.                  $x = mysql_query("SELECT `login` FROM `users` WHERE `login`='$login' AND `pass`='$pass'") or die(mysql_error());
  10.                  $row_x = mysql_fetch_row($x);
  11.                  if(mysql_num_rows($x)){
  12.                  $_SESSION['hello']['user'] = $row_x[0];
  13.                  }else{
  14.              $_SESSION['avtorization']['error'] = "<p>Логин или пароль не верны</p>";
  15.         }
  16.   }
  17. }
  18.  


Я так понимаю тут существует уже две сессии, мне надо прятать в сессию админа, панель администратора!
Покажите как это все склеить во иди но! опыта у меня маловато, пол года, прошу не удивляйтесь на столь простые вопросы!



Всем спасибо, нашел выход все сделал! до трех ночи и результат не заставил себя ждать!!! Радость
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB