0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 411 Просмотров
*

m.smetannikov

  • Захожу иногда
  • 69
  • 0 / 0
Всем привет.
В Joomla 3.4 у меня работало создание новых пользователей из скрипта который лежит к корне
Не помню откуда сделал копипаст этого кода, но он работал:
Код
	
if (!defined('_JEXEC', 1)) {
define( '_JEXEC', 1);
define ('JPATH_BASE', __DIR__);
require_once ( JPATH_BASE .'/includes/defines.php' );
require_once ( JPATH_BASE .'/includes/framework.php' );
$mainframe = JFactory::getApplication('site');
}
$db = JFactory::getDbo();
$user = JFactory::getUser();
function addJoomlaUser($name, $username, $password, $email) {
$data = array(
"name"=>$name,
"username"=>$username,
"password"=>$password,
"password2"=>$password,
"email"=>$email
);

$user = clone(JFactory::getUser());
//Write to database
if(!$user->bind($data)) {
throw new Exception("Could not bind data. Error: " . $user->getError());
}
if (!$user->save()) {
throw new Exception("Could not save user. Error: " . $user->getError());
}

return $user->id;
}
Потом я обновился до J3.5 и началось:
- сначала defined() ожидает один параметр, а передается 2 - defined() убрал вообще,
- потом появилась такая ошибка: Error displaying the error page: Application Instantiation Error: Failed to start the session because headers have already been sent by "Мой скрипт" at line 32 - в этой строке у меня после if идет echo отладочное - непонятно(решил как и в прошлый раз с defined() - комментарием непонятного для меня $mainframe = JFactory::getApplication('site'); который еще и нигде дальше не используется).
-дальше вот такая ошибка: Error displaying the error page: Application Instantiation Error: Could not save user. Error: Application Instantiation Error (это вот финальная ошибка дальше которой я не продвинулся)
-после того как при вызове попытался передать пользователя с уже используемым в Joomla e-mail появилась вот такая ошибка: Error displaying the error page: Application Instantiation Error: Could not save user. Error: JLIB_DATABASE_ERROR_EMAIL_INUSE то есть получается запрос в базу делается на проверку наличия передаваемого e-mail, но пользователь с новым e-mail все равно не сохраняется - вот это для меня вообще не понятно.

Подскажет кто - нибудь в чем дело?
*

m.smetannikov

  • Захожу иногда
  • 69
  • 0 / 0
В общем я не понимаю почему это работало, почему это перестало работать и почему это снова заработало.
Решение следующее: перед
Код
if (!$user->save())
я добавил
Код
$user->save();
И снова заработало.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Экспорт пользователей в xls-файл

Автор Igoritaly

Ответов: 10
Просмотров: 238
Последний ответ 02.02.2018, 11:21:01
от kern.USR
регистрация пользователей с одинаковым e-mail

Автор yu78

Ответов: 15
Просмотров: 465
Последний ответ 24.01.2018, 11:50:34
от x1
Joomla отключает регистрацию пользователей

Автор Den85

Ответов: 8
Просмотров: 226
Последний ответ 21.01.2018, 09:56:05
от Den85
Перенос пользователей с 2.5 на 3.8

Автор aleks_lv

Ответов: 4
Просмотров: 156
Последний ответ 10.12.2017, 01:00:41
от wishlight
Доступ для пользователей и скрытие пунктов меню

Автор tagilnext

Ответов: 2
Просмотров: 182
Последний ответ 16.11.2017, 21:07:04
от tagilnext