Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Система управления пользователями
 
 автор: evgen_17   (15.03.2005 в 12:51)   письмо автору
 
 

Вот, собрался облегчить себе жизнь и создать такую систему. Подскажите что нужно, что необходимо, а что не нужно, но желательно чтобы было и т.д.

   
 
 автор: Valeri   (15.03.2005 в 13:27)   письмо автору
 
   для: evgen_17   (15.03.2005 в 12:51)
 

честно говоря не особо понятен вопрос.
вроде на любом сайте где существует регистрация пользователей имеется функция управления ими.
то есть - добавление, удаление, изменение почты, изменения личных данных (если они нужны на сайте), присваивание статуса, поощрений, штрафов и т.д.
все зависит от потребностей админа и спицыфики сайта.
а так однозначно сказать - вот это надо, а это нет, нельзя.
я так считаю.

   
 
 автор: evgen_17   (15.03.2005 в 14:02)   письмо автору
 
   для: Valeri   (15.03.2005 в 13:27)
 

Valeri, в том то и вопрос. Дело в том, что я никогда таких систем не делал и поэтому не знаю даже того, что полюбому должно быть в такой системе. Удаление, добавление, изменение профиля, штрафы и привелегии - это понятно, но разве только это необходимо?

   
 
 автор: cheops   (15.03.2005 в 13:29)   письмо автору
 
   для: evgen_17   (15.03.2005 в 12:51)
 

А как вы хотите ими управлять? Очень много зависит от того, что это за пользователи (форума, интернет-магазина, рассылки и т.п.) в каждом случае есть свои ньюансы. Неплохо, если вы приведёте пару примеров, как вам это всё видится и что вы ожидаете от системы.

   
 
 автор: evgen_17   (15.03.2005 в 13:58)   письмо автору
 
   для: cheops   (15.03.2005 в 13:29)
 

Ну как сказать...
Для того чтобы просмотреть информацию о пользователе или удалить его на данный момент мне нужно запускать PHPMyAdmin, и т.д. и т.п.... Я хочу сделать WEB-интерфейс для управления всем этим. Т.е., если например мне надо удалить, заблокировать или посмотреть полную инфу о пользователе или изменить его првелегии или вообще создать самому с определёнными привелегиями, то я просто иду в эту систему иделаю всё это там. Как вы знаете в PHPMyAdmin добавлять пользователя трудновато... Точнее дольше, чем просто заполнить соответсвующие поля. Добавить или удалить привелегию там тоже нельзя, сначала надо их придумать... Ну вот вобщем идея такая...

   
 
 автор: Atom   (15.03.2005 в 14:12)   письмо автору
 
   для: evgen_17   (15.03.2005 в 13:58)
 

Ну а в чем проблема? И сделайте то, что выхотите :)))

   
 
 автор: Valeri   (15.03.2005 в 14:16)   письмо автору
 
   для: evgen_17   (15.03.2005 в 13:58)
 

но такие интерфесы реализованы на всех форумах типа IPB, phpBB и так дале, а так же в CMS, возьмите любую, хотя бы НЮКЕ и вытащите интерфес, сделайте себе примерный шаблон, а потом будете добавлять по мере необходимости от спецыфики сайта соответствующие графы.
или у вас желание сделать свой эксклюзив ?
хотя честно говоря не представляю, что в этом случаи можно изобрести нового ?

   
 
 автор: cheops   (15.03.2005 в 15:01)   письмо автору
 
   для: evgen_17   (15.03.2005 в 13:58)
 

Тогда должна быть так же возможность для назначения нового пароля и блокирования пользователя. А вообще следует начинать делать систему и использовать, реальная практика использования подскажет вам, что необходимо добавить в систему. Именно таким образом и появляются все широкоизвестные Web-приложения, да и вообще всё, в том числе и PHP: люди используют что-то, и им постоянно что-то нехватает, в результате чего они развивают своё приложение.

   
 
 автор: evgen_17   (15.03.2005 в 19:43)   письмо автору
 
   для: cheops   (15.03.2005 в 15:01)
 

Я не хочу что-то у кого-то слизать... Я хочу сам сделать так, как МНЕ надо. Я итак форумом не своим буду пользоваться, но ничего потом знаний накоплю, свой напишу.
А не хочу я использовать чужие скрипты по нескольким причинам:
1) Чужой код, как и любой друго код может содержать ошибки и своевременное их исправление лежит на совести разработчика.
2) При обнаружении ошибок - в своём коде разбираться проще, чем в чужом, особенно если он большой и стиль кодирования автора отличается от собственного. А встраивать в него что-то своё ищё труднее. Спасибо большоё разработчикам студии Softtime. Они пишут комментарии, а кто-то может и не писать.
3) Лучше сделать самому! Это полезнее, безопаснее и выгоднее.

[поправлено модератором]

   
 
 автор: XPraptor   (16.03.2005 в 11:46)   письмо автору
 
   для: evgen_17   (15.03.2005 в 13:58)
 

Действительно, как сказал cheops, в системе должно быть то, что нужно тебе для управления твоими пользователями.
Вот у меня на портале в системе управления есть опции открыть доступ к разделу такому то и включить юзера в рассылку объявлений, на твоем сайте может никогда не быть такого кода, и зачем тебе тогда такая система с лишними функциями?
Начинай писать свою собственную, и по мере написания спрашивай на форуме как лучше сделать то-то и то-то, а народ то уж советов тебе навалит будь уверен!

   
 
 автор: evgen_17   (16.03.2005 в 13:53)   письмо автору
 
   для: XPraptor   (16.03.2005 в 11:46)
 

Вот с Вами, XPraptor, я согласен!

   
 
 автор: evgen_17   (18.03.2005 в 19:40)   письмо автору
 
   для: evgen_17   (16.03.2005 в 13:53)
 

Попытался добавить возможность "Блокирования" пользователей. Не получается... Хотя почему?
Вот скрипт:
Пишу такую ссылку:

<?
echo '< a href="http://www.SITE.ru/ban.php?uid=".user['uid']."&ban=deactive">Блокировать</a>';
?>


Ссылка обрабатывается следующим скриптом:


<?
            
require("conf.php");
db_connect();
$ban $_GET['ban'];
$uid $_GET['uid'];

$banuser mysql_query("UPDATE users SET ban='$ban' WHERE uid='$uid'");
if(
$banuser)
    {
        echo 
"Выполнено";
    }
    else
    {
        echo 
"Не выполнено";
    }
db_disconnect();
?>


Должно измениться значение в поле "ban" в строке совпадающейс именем пользователя "$uid", но ничего не меняется... Почему? Запрос вродебы правильный...

   
 
 автор: cheops   (18.03.2005 в 19:44)   письмо автору
 
   для: evgen_17   (18.03.2005 в 19:40)
 

Без структуры таблицы users сложно ответить, так как непонятно какой тип принимает поле ban.

   
 
 автор: evgen_17   (18.03.2005 в 20:44)   письмо автору
 
   для: cheops   (18.03.2005 в 19:44)
 

А ну да забыл добавить структуру... Да ладно я с этим разобрался. Вот только хочу чтобы в зависимости от того какое значение в поле ban показывалась ссылку "Блокировать" (если ban) или "Разблокировать" (если notban).
Вот структура таблицы (указаны только упоминаемые поля):

CREATE TABLE users (
  id bigint(99) NOT NULL auto_increment,
  uid varchar(255) default NULL,
  ban varchar(255) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;


Пишу следующий код, он должен показывать эти самые ссылки в зависимости от того, что в БД:

$uid = $_GET['uid'];
$ban = mysql_query("SELECT * FROM users WHERE uid='$uid' AND '$ban'=ban");
if($ban = 'notban')
    {
        echo '<a href="http://www.MoneyGameServer.ru/admin/SCC/UsersControl/ban.php?uid='.$uid.'&ban=ban">Разблокировать</a>';
    }
elseif($ban = 'ban')
    {
        echo '<a href="http://www.MoneyGameServer.ru/admin/SCC/UsersControl/ban.php?uid='.$uid.'&ban=notban">Блокировать</a>';
    }
else
    {
        echo "Не активирован";
    }

Вот... Показывается всегда "Разблокировать"...

   
 
 автор: evgen_17   (18.03.2005 в 20:54)   письмо автору
 
   для: evgen_17   (18.03.2005 в 20:44)
 

А где бы мне посмотеть хотябы примерно как делать систему привелегий пользователей? Или может подскажет кто?

   
 
 автор: cheops   (18.03.2005 в 22:10)   письмо автору
 
   для: evgen_17   (18.03.2005 в 20:44)
 

Дело в том, что функция mysql_query возвращает дескритор ответа сервера, по которому нужно получать уже сам ответ.
<?php
$uid 
$_GET['uid']; 
$ban mysql_query("SELECT * FROM users WHERE uid='$uid' AND '$ban'=ban");
// Проверяем корректность запроса
if(!ban) exit(mysql_error());
// Преобразуем полученный данные в массив
$arr mysql_fetch_array($ban);
if(
$arr['ban'] == 'notban')
{
  
// и т.д.
}
?>


PS Обратите внимание что в операторе if следует использовать ==, а не = Самое страшное, что это не считается ошибкой - вы можете присваивать занчение переменной где угодно.
PPS Такие вопросы лучше оформлять в виде отдельно темы в форуме MySQL http://www.softtime.ru/forum/index.php?id_forum=3. Если у вас останутся технические вопросы по MySQL, лучше действительно создать новую тему с указанием ссылки на эту.

http://www.softtime.ru/dic/id_dic=125&id_group=2

   
 
 автор: evgen_17   (18.03.2005 в 23:13)   письмо автору
 
   для: cheops   (18.03.2005 в 22:10)
 

И вновь огромное спасибо, "cheops"! Кстате, вопрос не по теме... Я себе на Linux Oper'у установил и вот теперь какие проблемы:
1) Когда захожу на форум, то меня не приветсвуют по имени.
2) Каждый раз при написание сообщения приходится писать имя и пароль снова.
3) Самое интересное! После отправки сообщения, меня всё равно не приветсвуют! Как так? Кукисы включены...

   
 
 автор: cheops   (18.03.2005 в 23:58)   письмо автору
 
   для: evgen_17   (18.03.2005 в 23:13)
 

Cookie сбоят, в настройках в разделе Privacy в выпадающем списке Normal Cookie что стоит? На других сайтах, которые используют cookie таже картина или всё работает?

   
 
 автор: evgen_17   (19.03.2005 в 00:14)   письмо автору
 
   для: cheops   (18.03.2005 в 23:58)
 

У меня русская версия... Но вроде стоит "Принимать со всех серверов"

   
 
 автор: evgen_17   (19.03.2005 в 22:50)   письмо автору
 
   для: evgen_17   (19.03.2005 в 00:14)
 

Дак как насчёт првелегий, я до сих пор не могу ничего найти?

   
 
 автор: Valeri   (20.03.2005 в 04:34)   письмо автору
 
   для: evgen_17   (19.03.2005 в 22:50)
 

делаешь в таблице пользователей поле к примеру priv и если пользователь не имеет привилегий заносится туда 0, если он уже имеет право зайти куда-то, заносишь 1
на странице куда он имет право зайти делаешь проверку

<?
if ($priv != "1") {
echo 
"Вы не имеете права на посещение этой страницы";
 } else {
// заход на страницу
 
}
?>

так же если должна появится где-то ссылка на какой-то странице

<?
if ($priv == "1") {
echo 
"<a href="........">Можно посетить</a>";
}
?>

   
 
 автор: evgen_17   (20.03.2005 в 17:52)   письмо автору
 
   для: Valeri   (20.03.2005 в 04:34)
 

ОК! Попробую. Спасибо!

   
 
 автор: evgen_17   (20.03.2005 в 18:04)   письмо автору
 
   для: evgen_17   (20.03.2005 в 17:52)
 

Вот, назрело несколько вопросов.
1) Как определить Домен по IP адресу?
2) Как просмотреть состояние MySQL через WEB-интерфейс не используя PHPMyAdmin (не обязательно)
3) Как польность очистить MySQL? Вообще все базы стереть?
4) Как сделать резервную копию через WEB-интрефейс?
5) Как просмотреть все ошибки, которые возникали в БД?

   
 
 автор: Valeri   (20.03.2005 в 18:20)   письмо автору
 
   для: evgen_17   (20.03.2005 в 18:04)
 

1. скрипт WHOIS
2, 3, 4, писать свой скрипт или взять готовый на том же woweb.ru
5. не особо понятно что имеется ввиду

   
 
 автор: evgen_17   (20.03.2005 в 20:36)   письмо автору
 
   для: Valeri   (20.03.2005 в 18:20)
 

Там ничего подходящего нет... Всё это можно через phpMyAdmin сделать, вот только шарится долго. Нужны отдельные скрипты.

   
 
 автор: Valeri   (20.03.2005 в 20:46)   письмо автору
 
   для: evgen_17   (20.03.2005 в 20:36)
 

тогда не понятно что надо ?
интерфейсы и пишутся с возможностями phpadmina что бы не бегать каждый раз на хост.
и какие тогда нужны возможности интерфейса которых нет в phpadmin ?

   
 
 автор: evgen_17   (20.03.2005 в 21:08)   письмо автору
 
   для: evgen_17   (20.03.2005 в 20:36)
 

Вопрос насчёт привелегий...
Допустим я создал форму и в ней несколько "checkbox". Эти "checkbox" - варианты привелегий. Допустим мне нужну установить срузу несколько, как мне поступить? Записывать переменные в разные поля в БД? Или можно как-то в одно всё записать и использовать одну переменную?

   
 
 автор: cheops   (20.03.2005 в 21:11)   письмо автору
 
   для: evgen_17   (20.03.2005 в 18:04)
 

Слушайте, ну так не пойдёт - эти вопросы кандидаты на новые темы, причём в разных форумах. Не очень хорошо, когда в конкретная тема вяло перетекает в обсуждение других вопросов - их потом очень сложно найти и ссылаться, так как приходится сообщать человеку, что ответ на его вопрос находится где-то в конце темы. Кроме того, эта тема уже слишком длиная - с ней не удобно работать - давайте заводить другие темы

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования