我正在开发一个系统,我们需要为用户创建纯文本用户名/密码组合(它不是一个特别安全的系统,但它不会保存任何值得窃取的信息反正)。
我尝试使用创建随机用户名/密码的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;
答案 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;