【发布时间】:2016-07-13 03:29:30
【问题描述】:
我需要帮助在 php 中生成一个随机唯一代码并创建一个表并将其存储在 Mysql 中的一个表中,然后将此随机数提供给任何想要注册的人,之后使用随机数的人注册将成功不使用随机数的人生成数字和不成功
【问题讨论】:
标签: php
我需要帮助在 php 中生成一个随机唯一代码并创建一个表并将其存储在 Mysql 中的一个表中,然后将此随机数提供给任何想要注册的人,之后使用随机数的人注册将成功不使用随机数的人生成数字和不成功
【问题讨论】:
标签: php
这个函数应该可以解决问题
function random_Id($length = 6) {
$id = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $length);
return $id;
}
【讨论】:
如果您使用的是 PHP 7,很容易生成随机字符串:
$bytes = random_bytes(5); //random. Increase input for more bytes
$code = bin2hex($bytes); // eg: 385e33f741
在 PHP 7 之前,我会生成带有函数的字母数字代码
function getRandomString($length){
$chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
$result = '';
while(strlen($result)<$length):
$result .= $chars{mt_rand(0,strlen($chars)-1)};
endwhile;
return $result;
}
要获得 10 个字符的随机码,您只需调用:
$code = getRandomString(10);
如果您希望在生成的代码中添加更多字符,例如大写字母和标点符号,您可以向$chars 添加更多字符
【讨论】: