我想知道如何在html表单提交后用php生成一个随机的9位数字。
英文:
我的网站上有一个表单....它将数据发布到数据库。我想在php文件中添加另一个函数,它将为每个表单提交生成一个数字(类似于提交表单的每个用户的唯一ID号)
我可以做所有数据库的东西。只需要知道如何生成数字。
答案 0 :(得分:1)
为什么重新发明轮子?我建议您让数据库通过UUID()创建一个唯一ID。
答案 1 :(得分:1)
rand() = Max 32768 on windows machines
所以如果您选择使用:
mt_rand (100000000,999999999);
但是我建议您使用数据库中的AI id并填写它,如果您的窗帘需要长度9
str_pad(mysql_insert_id(), 9, "0", STR_PAD_LEFT);
000000001
000000002
000000003
...
000000199
and so on
答案 2 :(得分:0)
尝试uniqid
功能。
答案 3 :(得分:0)
看一下rand函数
答案 4 :(得分:0)
你可以做数据库的东西,你不能生成一个id?
随机:rand(1, 999999999)
或者从插入中我假设mysql:mysql_insert_id()
- 如果您使用ID
答案 5 :(得分:0)
我无法想象你为什么要这样做,而不是PRIMARY KEY
与AUTO_INCREMENT
一起使用,但是因为你问:
mt_rand()
是可行的方法。
rand()
- 它很慢并且被淹没要证明该概念,请尝试以下方法:
header("Content-type: image/png");
DEFINE('SQUARE_SIZE', 100);
$img = imagecreatetruecolor(SQUARE_SIZE, SQUARE_SIZE);
$ink = imagecolorallocate($img, 255, 255, 255);
for($i = 0, $max = pow(SQUARE_SIZE, 2); $i < $max; $i++) {
imagesetpixel($img, mt_rand(1,SQUARE_SIZE), mt_rand(1,SQUARE_SIZE), $ink);
}
imagepng($img);
imagedestroy($img);
你会得到像素噪音;如果您将mt_rand
来电更改为rand
,那么这将是一个非常明显的重复模式,每次都是相同的模式。
mt_rand()