检查用户名/密码组合是唯一的(执行)

时间:2014-12-09 15:47:29

标签: php

我正在开发一个系统,我们需要为用户创建纯文本用户名/密码组合(它不是一个特别安全的系统,但它不会保存任何值得窃取的信息反正)。

我尝试使用创建随机用户名/密码的do-while循环,然后检查数据库中是否存在具有该确切组合的用户。如果有,它会再次尝试。但是,当我运行以下代码时,我得到一个空白屏幕,甚至没有错误消息:

do {
    $un = "";
    for ($i = 0; $i < 5; $i++): $un .= chr(65 + mt_rand(0, 25)); endfor;
    $pw = rand(100000, 999999);
    $unpw_exists = mysqli_query($link, "SELECT id FROM table
                                        WHERE username = '$un' AND password = '$pw'");
} while (mysqli_num_rows($unpw_exists) > 0);
echo $un . " " . $pw;

2 个答案:

答案 0 :(得分:1)

这不正确PHP语法:

for ($i = 0; $i < 5; $i++): $un .= chr(65 + mt_rand(0, 25)); end for;

尝试:

for ($i = 0; $i < 5; $i++): $un .= chr(65 + mt_rand(0, 25)); endfor;

或者:

for ($i = 0; $i < 5; $i++) { $un .= chr(65 + mt_rand(0, 25)); }

答案 1 :(得分:0)

我有一个错字。

我的for循环应该如下结束:

endfor;

而不是

end for;