|
~angel~
Гость
|
 |
« : 01.05.2007, 22:41:52 » |
|
Обычно, регистрация нового пользователя происходит при помощи стандартной формы. Как зарегистрировать нового пользователя без использования графического интерфейса, только при помощи функций PHP?
Я делаю запрос к базе данных Jooml'ы, к таблице jos_users на вставку нового пользователя. При этом я пишу следующий запрос:
insert into jos_users (username, password, usertype) values ('vasya', '$password', 'Publisher')
в командной строке SQL пишет мне, что field 'params' doesn't have a default value. Чему должно быть равно это значение? и какие ещё поля обязательны к заполнению, и как их корректно нужно заполнять?
Я попробовала ввести запрос: insert into jos_users (username, password, usertype, params) values ('vasya', '$password', 'Publisher', 'editor=') значение 'editor=' почему-то записывает в таблицу Joomla для зарегистрированных через форму пользователей... Такой запрос исполняется, пользователь регистрируется. Только что означает 'editor='? (-:
Нет ли более удобного способа решить эту задачу? Нет ли в Joomla специальной функции, при помощи которой можно зарегистрировать пользователя?
----------------- И ещё вопрос: как мне сделать, чтобы пользователям с различными типами доступа отображалось разное меню (mainmenu)? (как я поняла в Joomla есть типы пользователей: Super Administrator, Administrator, Manager, Autor, Editor, Publisher или что-то подобное)
я создаю в mainmenu в админке новый пункт, и для него можно выбрать "Уровень доступа", но там всего 3 значения: public, registered и special. Как назначить разное меню автору, эдитору, паблишеру, администратору и т.п.?
|
|
|
|
|
Записан
|
|
|
|
maverick_den
Осваиваюсь на форуме
 
Репутация: +9/-0
Offline
Пол: 
Сообщений: 89
|
 |
« Ответ #1 : 01.05.2007, 22:58:38 » |
|
Во-первых пароль шифруется МД5 (кажись именно им), то есть $password надо поменять на md5($password). Во-вторых не забывайте указывать почту. По params - ну напишите что-нибудь, раз просит. Editor - редактор по умолчанию. Нет ли более удобного способа решить эту задачу? Нет ли в Joomla специальной функции, при помощи которой можно зарегистрировать пользователя?  Там даже компонент специальный для этого есть. И через админку по-моему можно. ЗЫ. Меню, наверное, править надо. Хотя не уверен.
|
|
|
|
|
Записан
|
|
|
|
|
~angel~
Гость
|
 |
« Ответ #2 : 01.05.2007, 23:06:13 » |
|
Смысл именно в том, чтобы регистрацию проводил не сам пользователь, а мой программный код. Админка и визуальный компонент - это не то, что нужно. Про мд5 я догадалась  но всё-равно спасибо А как править меню?
|
|
|
|
|
Записан
|
|
|
|
|
yAnTar
|
 |
« Ответ #3 : 01.05.2007, 23:31:42 » |
|
|
|
|
|
|
Записан
|
|
|
|
|
~angel~
Гость
|
 |
« Ответ #4 : 01.05.2007, 23:34:38 » |
|
Спасибо, yAnTar 
|
|
|
|
|
Записан
|
|
|
|
|
~angel~
Гость
|
 |
« Ответ #5 : 01.05.2007, 23:54:07 » |
|
ой-ой.. я пишу как smart написал:
global $database, $acl;
$user = new mosUser( $database );
$user->id=0; $user->gid= $acl->get_group_id( 'Registered', 'ARO' ); $user->block = 0; $user->name = 'Vasya'; $user->username = 'Vasya'; $user->password = md5( '12345678' ); $user->email = 'vasya@mail.ru'; $user->registerDate = date( 'Y-m-d H:i:s' );
$user-store();
В базе данных появляется новая запись, только когда я под ней пытаюсь войти, выдаётся сообщение о том, что неправильный логин или парль..
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #6 : 02.05.2007, 09:45:40 » |
|
~angel~ - насколько я помню, за пользователей отвечают еще таблицы: jos_users jos_core_acl_aro jos_core_acl_groups_aro_map
|
|
|
|
|
Записан
|
|
|
|
|
~angel~
Гость
|
 |
« Ответ #7 : 02.05.2007, 10:50:04 » |
|
beliyadm, а если добавлять пользователя средствами Joomla, через $user->, Joomla сама следит за связями в своих таблицах?
-------------- а если написать ещё и $user->params = 'editor='; , то можно и авторизироваться созданным пользователем (-:
какие-то очень важные params видимо жизненно необходимы (-:
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #8 : 02.05.2007, 11:34:08 » |
|
Не особо вникал в ход регистрации, скорее всего где то это прячется. Попробуй зарегистрировать пользователя и посмотри на изменения в таблицах. Кто подскажет - есть под MySQl аналог MS SQL Server - Profiler - в таких случаях безумно полезная вещь... ?
|
|
|
|
|
Записан
|
|
|
|
|
~angel~
Гость
|
 |
« Ответ #9 : 02.05.2007, 11:44:58 » |
|
не знаю, что такое MS SQL Server - Profiler, но я пользуюсь DBDesigner -ом, забавная вещь для работы с базами данных
|
|
|
|
|
Записан
|
|
|
|
|
yAnTar
|
 |
« Ответ #10 : 02.05.2007, 11:48:14 » |
|
Все работает, сам проверял, просто у Smarta опечатка Вместо $user-store(); напишите $user->store();
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #11 : 02.05.2007, 11:53:06 » |
|
не знаю, что такое MS SQL Server - Profiler, но я пользуюсь DBDesigner -ом, забавная вещь для работы с базами данных
По моему это немного не то, профайлер дает возможность посмотреть трассировку запросов при обращении к БД - что где исполнилось в какой момент. Можно попробовать его прикрутить к MySQL, но этож заморачиваться надо... 
|
|
|
|
|
Записан
|
|
|
|
|
~angel~
Гость
|
 |
« Ответ #12 : 02.05.2007, 12:11:09 » |
|
ааа, понятно )
заморачиваться моя не хотеть, моя хотеть как пороще (-:
|
|
|
|
|
Записан
|
|
|
|
|
~angel~
Гость
|
 |
« Ответ #13 : 04.05.2007, 20:27:13 » |
|
Скажите, пожалуйста, что означает:
$user->gid= $acl->get_group_id( 'Registered', 'ARO' );
что такое 'ARO'?
|
|
|
|
|
Записан
|
|
|
|
|
yAnTar
|
 |
« Ответ #14 : 04.05.2007, 21:33:47 » |
|
|
|
|
|
|
Записан
|
|
|
|
|
~angel~
Гость
|
 |
« Ответ #15 : 04.05.2007, 21:41:03 » |
|
спасибо )
|
|
|
|
|
Записан
|
|
|
|
aljoom
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 5
|
 |
« Ответ #16 : 11.07.2009, 12:10:08 » |
|
а если написать ещё и $user->params = 'editor='; , то можно и авторизироваться созданным пользователем (-:
зесь по подробнее можно, как авторизоваться?
|
|
|
|
|
Записан
|
|
|
|
aljoom
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 5
|
 |
« Ответ #17 : 11.07.2009, 12:34:30 » |
|
не получается, в базе не появляется запись... где смотреть помогоите пожалуйста.
|
|
|
|
|
Записан
|
|
|
|
|
era
|
 |
« Ответ #18 : 11.07.2009, 12:38:59 » |
|
ну дак у тебя навреное Joomla 1.5
|
|
|
|
|
Записан
|
|
|
|
asterix
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 12
|
 |
« Ответ #19 : 23.01.2010, 17:39:28 » |
|
вопрос как проверить права доступа у пользователя J 1.5 с фронта зайти могу в панель администратора нет хотя по базе права стоят супера
|
|
|
|
|
Записан
|
|
|
|
|