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]   

> Без описания
D1ma
Отправлено: 24 Июля, 2010 - 16:37:19
Post Id


Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Июль 2010  


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




Помогите пожалуйста с написанием админки.

Пока что вариант такой:

в таблице пользователей есть поле group , при авторизации, сессии "group" присваеваеться значение из поля "group"

в итоге if ($_SESSION['group'] == "admin") {

echo "Панель администратора";
}

если кто сталкивался или знает вариант по лучше помогите пожалуйста.

(Отредактировано автором: 24 Июля, 2010 - 17:42:07)

 
 Top
Реф
Отправлено: 24 Июля, 2010 - 17:40:41
Post Id



Частый гость


Покинул форум
Сообщений всего: 159
Дата рег-ции: Июль 2010  
Откуда: Реутов, Россия


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




как минимум в условии присваивание на сравнение замени =)


-----
Думать надо головой, а не головкой!
 
 Top
Arch-Web
Отправлено: 24 Июля, 2010 - 17:52:51
Post Id



Частый гость


Покинул форум
Сообщений всего: 177
Дата рег-ции: Июль 2010  
Откуда: Ukraine::Kiev


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




Вам надо побольше практики и мануалов =)

PHP:
скопировать код в буфер обмена
  1. class cp {
  2.    privat  $status = false;
  3. function getStatus(){ return $this->status; }
  4.   function logaut(){
  5.       global $_GET,$_COOKIE;
  6.       if(isset($_GET['logaut'])){
  7.           setcookie("_cp","");
  8. // тут конект к мускулу
  9.           $id = $_COOKIE['cp'];
  10.           $result = mysqli_query($mysql,"DELETE FROM `cp` WHERE `id`='{$id}' ");
  11.         @header("Location: /");
  12.         die("Reload Page.");
  13.       }
  14.   }
  15.   function authentication(){
  16.        global $_POST;
  17.        if(isset($_POST['cp_inp'])){
  18.           $login = $_POST['cp_login'];
  19.           $pass = $_POST['cp_pass'];
  20. // Конект к базе
  21.           $cp = mysqli_query($mysql,"SELECT COUNT(*) FROM `user` WHERE `login`='{$login}' AND `password`='{$pass}' ");
  22.           $_cp = mysqli_fetch_row($cp);
  23.           if($_cp[0] == 0){print("Error User not found.") return;}
  24.           $ids = md5($login.time());
  25.           $timeOut = $time + 10800;
  26.           $add_ses = mysqli_query($mysql,"INSERT INTO `cp` values('{$ids}','{$login}','{$pass}','{$timeOut}')")
  27.           setcookie("_cp",$ids, $timeOut,"/");
  28.           @header("Location: /");
  29.           die("Reload Page.");
  30.        }
  31.   }
  32.  
  33.  function guard(){
  34.          global $_COOKIE;
  35.          if(!isset($_COOKIE['_cp'])){return;}
  36.          $cp = $_COOKIE['_cp'];
  37.          // Конект к мускулу
  38.          $test = mysqli_query($mysql,"SELECT COUNT(*) FROM `cp` WHERE `id`='{$cp}' ");
  39.          $_test = mysqli_fetch_row($test);
  40.          if($_test[0] == 0 ){return;}
  41.          $this->status = true;
  42.  }
  43.  
  44. }
  45.  
  46. $cp =new cp;
  47. $cp->logaut();
  48. $cp->guard();
  49. $cp->authentication();
  50.  
  51.  
  52. if($my->getStatus()){
  53. // тут сама админка
  54. } else {
  55. // Тут Форма для Авторизации
  56. }




Вот я написал пример ,он самый простой. учись =)

(Отредактировано автором: 24 Июля, 2010 - 18:07:18)

 
 Top
D1ma
Отправлено: 24 Июля, 2010 - 18:19:03
Post Id


Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Июль 2010  


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




чтоб написать "нормальную" админку надо учить ООП ? Однако
 
 Top
Champion Супермодератор
Отправлено: 24 Июля, 2010 - 20:09:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




В общем-то нет. Чтобы написать админку, нужно иметь идею. А как ее реализовывать - сам решишь. Конечно ООП знать надо, чтобы понять, где оно нужно)
 
 Top
D1ma
Отправлено: 24 Июля, 2010 - 21:16:08
Post Id


Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Июль 2010  


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




ну моя идея наверно банальна и не очень безопасна Улыбка
 
 Top
Arch-Web
Отправлено: 24 Июля, 2010 - 22:37:07
Post Id



Частый гость


Покинул форум
Сообщений всего: 177
Дата рег-ции: Июль 2010  
Откуда: Ukraine::Kiev


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




D1ma очень банальная и очень не безопасная =)))
 
 Top
D1m0n
Отправлено: 05 Октября, 2010 - 16:09:55
Post Id


Новичок


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


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




здравствуйте, при входе юзера с админской учеткой, пытаюсь его перенаправить по другому адресу, как-то вот так:
PHP:
скопировать код в буфер обмена
  1. if((strcmp($_REQUEST["number1"], 'admin') == 0) && (strcmp(md5($_REQUEST["number2"]), trim($a[1])) == 0))
  2.                 {
  3.                         $adm = $_REQUEST["number1"];
  4.                         @session_register("adm");
  5.                         @header("Location: adminko.php");
  6.                         exit;
  7.                 }

в итоге все остается на этой странице с таким Warning:
Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0


Отредактировано модератором: Uchkuma, 06 Октября, 2010 - 12:55:38
 
 Top
AdMeen
Отправлено: 06 Октября, 2010 - 11:33:50
Post Id



Посетитель


Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009  
Откуда: Воронеж


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




Arch-Web пишет:
D1ma очень банальная и очень не безопасная =)))


собственно, извиняюсь, если не увидел сразу. Но чем ваш вариант, принципиально отличается от варианта описанного топикстартером? Кроме того, что вы написали в "ООП стиле"?
 
 Top
Uchkuma
Отправлено: 06 Октября, 2010 - 13:29:37
Post Id



Участник


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


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




D1m0n пишет:
в итоге все остается на этой странице с таким Warning:
А вы не пытались перевести данное сообщение на русский? Там все написано. И еще ваша проблема в том, что вы пытаетесь игнорировать ошибки, затыкая их собакой.
 
 Top
D1m0n
Отправлено: 06 Октября, 2010 - 15:50:30
Post Id


Новичок


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


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




Uchkuma,
ошибки там не было, был еще один Warning, которого я убрал собакой, со вторым решил иначе, приподнял код повыше и подправил, вроде заработалоУлыбка
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. if((strcmp($_REQUEST["number1"], 'admin') == 0) && (strcmp(md5($_REQUEST["number2"]), trim($a[1])) == 0))
  3.                 {
  4.                         $_SESSION["number1"] = $_REQUEST["number1"];
  5.                         @header("Location: adminko.php");  //редирект
  6.                         exit;                              //выход
  7.                 }
  8.  

я перевёл это сообщение, единственное что я понял, что работать так как написано оно не будет.

(Отредактировано автором: 06 Октября, 2010 - 15:57:32)

 
 Top
Uchkuma
Отправлено: 06 Октября, 2010 - 18:21:09
Post Id



Участник


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


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




Ну так а что за warning?
 
 Top
D1m0n
Отправлено: 06 Октября, 2010 - 19:24:26
Post Id


Новичок


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


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




Сейчас я убрал из кода последнюю собаку, ни каких warning уже нет. А тот что был перевода я не понял, решение знакомый подсказал.

Неизвестный: Ваш подлинник возможно полагается на побочный эффект сессии, который существовал до PHP 4.2.3. Доводим до вашего сведения, что расширение сессии не рассматривает глобальные переменные как источник данных, если register_globals не позволен. Вы можете повредить эту функциональность и это предупреждение, устанавливая сессию bug_compat_42 или сессию bug_compat_warn к прочь, соответственно. в Неизвестном на линии 0

что можно понять из этого хз.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB