Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Создание большого количества пользователей

Опубликовано:

Приветствую!

Требуется создать автоматически 150 аккаунтов на форуме 3.1.4, имена будут состоять из цифр, и эл. адреса будут отличатся только цифрами, но требуется чтобы пароли были разные. Регистрировать по одному это конечно очень долго, возможно ли сделать какой-нибудь запрос или же можно сделать эту операцию иными средствами?

Рекомендованные сообщения

Опубликовано:
$member = IPSMember::create( array(
'members'	=> array(
	'name'		=> 'Joe Bloggs',
	'email'		=> 'joe.bloggs@example.com',
	'password'	=> 'passy'
	)
) );

Опубликовано:
  • Автор

Не много не ясен принцип действия, нужно создать отдельный файл или вставить в уже существующий? И ещё, данной конструкцией можно зарегистрировать только одного пользователя, для большего количества мне нужно копировать:

 

               'name'          => 'Joe Bloggs',
               'email'         => 'joe.bloggs@example.com',
               'password'      => 'passy'
               )

 

Так?

Опубликовано:

для большего количества мне нужно копировать

Файл в корень форума

 

<?php

define( 'IPB_THIS_SCRIPT', 'public' );

require_once( 'initdata.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );

$registry = ipsRegistry::instance(); 
$registry->init();

$nomer = 1;

while ( $nomer <= '150') {

$name = 'user' .$nomer; 
$email = $name .'@test.ru'; 
$password = base_convert(rand(10e16, 10e20), 10, 36); // создаем случайный пароль

$member = IPSMember::create( array(
	'members' => array(
		'name'                  => $name,
		'members_display_name'  => $name,
		'email'                 => $email,
		'password'              => $password
		)
) );

$nomer ++;

}

?>

 

Создаст 150 пользователей. Пароль случайный.

 

имена будут состоять из цифр

Как то сразу с утра не вник.

Имена будут от user1 до user150. Но поменять на набор цифр не так сложно :)

Опубликовано:
  • Автор

Спасибо, с настройками разберусь, а как вывести пароли созданных аккаунтов?

Опубликовано:

Но поменять на набор цифр не так сложно

$name = rand(10000, 999999999);

Не думаю, что при 150 генераций одно и тоже число повторится два раза.

 

а как вывести пароли созданных аккаунтов?

А оно надо? Можно скинуть все в файл, но из-за разовой операции можно просто скопировать с экрана полученные результат. Для этого

заменить

$nomer ++;

 

на

	
echo 'Логин: '  .$name .' Пароль: ' .$password .'<br />';

$nomer ++;

Опубликовано:
  • Автор

можно просто скопировать с экрана полученные результат

Это и нужно.

 

Для этого

заменить

Ошибка только:

 

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in \home\test.ru\www\member_create.php on line 29

Именно в этой строке:

 

        echo 'Логин: '  .$name .' Пароль: ' .$password '<br />'; 

 

Решил изменив на:

 

        echo 'Логин: '  .$name .' Пароль: ' .$password . '<br />'; 

Опубликовано:

Ошибка только:

Ага. Поправил в исходном сообщение. Как-то пропустил точку. :(

Но можно и так:

 

echo "Логин: $name  Пароль:  $password  <br />"; 

Опубликовано:
  • Автор

Ага. Поправил в исходном сообщение. Как-то пропустил точку. :(

 

Нечего страшного.) Главное всё работает, спасибо!

  • 2 года спустя...
Опубликовано:

Подскажите, как сделать, чтобы логины для юзеров брались из txt файла, по списку?

Опубликовано:

(ники брал из текстового файла)

<?php

define( 'IPB_THIS_SCRIPT', 'public' );
define( 'IPS_PUBLIC_SCRIPT', 'index.php');
define( 'IPS_ENFORCE_ACCESS', true); // с 3.1.*
require_once( 'initdata.php' );

require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );

$registry = ipsRegistry::instance();
$registry->init();

$nicks = file( 'nick.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );

foreach( $nicks as $v )
{
$name  = $v; 
$email = $v .'@test.ru'; 
$password = base_convert(rand(10e16, 10e20), 10, 36); // создаем случайный пароль

$member = IPSMember::create( array(
	'members' => array(
		'name'                  => $name,
		'members_display_name'  => $name,
		'email'                 => $email,
		'password'              => $password
	)
) );

echo "Login: {$name} Password: {$password}<br>";
}

  • 1 месяц спустя...
Опубликовано:

Подскажите для 3.4 подойдет скрипт?

Опубликовано:

Подойдет, API не изменилось.

Опубликовано:

Подойдет, API не изменилось.

Подскажите как файл назвать?

Опубликовано:

Какой файл?

Опубликовано:

Какой файл?

ну тут написали файл ложить в корень форума http://ipbskins.ru/forum/topic7755.html/page__view__findpost__p__50772

 

Не совсем понял куда этот код прописывать.

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.