Skip to content
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, имена будут состоять из цифр, и эл. адреса будут отличатся только цифрами, но требуется чтобы пароли были разные. Регистрировать по одному это конечно очень долго, возможно ли сделать какой-нибудь запрос или же можно сделать эту операцию иными средствами?

Featured Replies

$member = IPSMember::create( array(
'members'	=> array(
	'name'		=> 'Joe Bloggs',
	'email'		=> 'joe.bloggs@example.com',
	'password'	=> 'passy'
	)
) );

  • Author

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

 

               '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. Но поменять на набор цифр не так сложно :)

  • Author

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

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

$name = rand(10000, 999999999);

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

 

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

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

заменить

$nomer ++;

 

на

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

$nomer ++;

  • Author

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

Это и нужно.

 

Для этого

заменить

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

 

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 />"; 

  • Author

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

 

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

  • 2 years later...

Подскажите, как сделать, чтобы логины для юзеров брались из 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 month later...

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

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

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

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

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Search

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.