【问题标题】:Insert multiple users and random passwords Php&mysql插入多个用户和随机密码 Php Mysql
【发布时间】:2016-08-29 12:18:56
【问题描述】:

我正在努力创建多个用户和密码并将其插入 mysql 列。 插入多个用户名是有效的,但不是多个随机密码。

mysql 表 "users" - 列 'user' & 'password' 主键 = 用户列

它是如何工作的:

用户在 HTML 表单中输入用户名和数字(创建多少用户和密码)。

代码使用提交的用户名并添加一个从“1”到限制(提交数量)的序列。

示例输入:

  • 提交的用户是 john
  • 提交的数字是20

示例结果:

  • john1, john2... john20

将来,当用户请求另外 10 个用户并以同名“john”通过时,数字将从 21 开始(john21、john22...john30) 添加另一个系列尚未完成,欢迎提供任何帮助和提示。

我的代码:

function muser() {
    function randomPassword() {
        $alphabet = "abcdefghjkmnpqrstuwxyz23456789"; // skip 0OoIl1
        $pass = array();
        $alphaLength = strlen($alphabet) - 1; 
        for ($i = 0; $i < 6; $i++) {
            $n = rand(0, $alphaLength);
            $pass[] = $alphabet[$n];
        }
        return implode($pass); 
    }

    if(isset($_REQUEST['submit'])) {
        $user_input_user = $_REQUEST["user"];
        $user_input_limit = $_REQUEST["limit"];

        $ipass = randomPassword();
    } 

    $uiuser = $user_input_user;
    $uilimit = $user_input_limit;


    $limit = $uilimit; 
    for($x = 1; $x <= $limit; $x++) {
        $queryuser[] = "('$uiuser$x', '$ipass'),";
    }
    return implode($queryuser);
 }

 $mquery = 'INSERT INTO `users` (`user`, `pass`) VALUES ';
 $imuser = muser();
 $fquery = substr($imuser, 0, -1);
 $sql =  $mquery . $fquery .';';

【问题讨论】:

  • 为什么不能在每个用户名后面添加PK id
  • 用户列已经是 PK,并且工作正常,问题是添加多个密码....对于这个例子,我得到 20 个唯一用户和 20 个相同的密码:(
  • 那么密码可以附加PK..?
  • 不工作,但我认为问题是由'function randomPassword()'生成的随机密码。此函数只执行一次,而不是在表单中输入的多次(限制)
  • 您想为同一批用户ID设置不同的密码?

标签: php mysql


【解决方案1】:

问题是因为你只给 $ipass 赋值一次。

从此改变for循环

for($x = 1; $x <= $limit; $x++) {
    $queryuser[] = "('$uiuser$x', '$ipass'),";
}

for($x = 1; $x <= $limit; $x++) {
    $queryuser[] = "('$uiuser$x', '$ipass'),";
    $ipass = randomPassword();
}

【讨论】:

    猜你喜欢
    • 2019-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多