0

CodeIgniterのTankAuthを使用して、一括ユーザー/パスワードをバッチで作成することに興味があります。CIフォーラムでこの質問をしましたが、応答がありませんでした。

http://codeigniter.com/forums/viewthread/110993/P330/#837327

グーグル検索は、3番目の結果と無関係なサイトの束として私のスレッド以外にはあまり現れません。

http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=create+batch+users+tankauth

再帰アルゴリズムを使用してこれを成功させた人はいますか?もしそうなら、私が正しい道を進むためにいくつかのコードを投稿できますか?ありがとう!

ソフトウェアのバージョン:

CI 1.7.3

TankAuth 1.0.7

PHP 5.x

2/15編集:

誰かがこれに対する解決策を探している場合に備えて、これは基本的に私が使用したものと同じ関数です(他のいくつかのパラメーターがありましたが、これでうまくいくはずです):

function batchReg()
{
    $this->load->model('mymodel');

    // connect to the database
    $this->mymodel->dbconnect();

    // build it
    $query = "SELECT user, email, pass from newusers ORDER BY user ASC";

    // ship it
    $result = mysql_query($query);

    // loop it
    while ($row = mysql_fetch_array($result))
    {
        $data = $this->tank_auth->create_user($row['user'], $row['email'], $row['pass'], FALSE);
        print_r($data);
        echo "<p>";
    }

}

コントローラからbatchReg()にpingを実行するだけで、動作を開始できます。

4

1 に答える 1

3

私には単純なループ操作のように聞こえます

どういうわけか(ソースが何であれ)配列のような反復可能な形式でユーザー名を取得します$user_list

このように見えると言います

Array(
    Array(
        [username] => '...',
        [email]    => '...',
        [password] => '',     //leave password empty
    ),
    Array(
        [username] => '...',
        [email]    => '...',
        [password] => '',     //leave password empty
    ),
    ... etc.
)

次に、新しい登録を処理する簡単なループルーチンを作成し、パスワードを配列に保存します。これにより、ログイン、新しい(ランダム化された)パスワード、および電子メールの完全なリストが得られます。

//loop by referance in order to properly store the generated password
foreach($user_list as &$user) {

    //generate 8 char password and store it
    $user['password'] = substr(uniqid(),2,8);

    //run register routine (not sure on tank auth's specific syntax
    $this->tankauth->register($user['username'],$user['email'],$user['password'],FALSE);
}

そして最後に、$user_listユーザーのすべての新しいパスワードが含まれます。

于 2011-02-02T03:26:04.770 に答える