我正在使用Laravel开发一个应用程序,它将具有注册用户的功能。 我想为每个用户提供自定义的唯一ID(即:User_id = SM129)。 Userid将具有以下功能: 1)注册时将自动生成用户ID。 2)自动生成的用户ID应该是检查数据库的唯一性。
目前,我使用以下代码根据当前日期生成唯一用户ID。但是这个用户名可能存在双重性。请帮忙
<?php
//creates a unique id for user id
echo "<br>";
$day = date('D');
$month = date('F');
$year = date('Y');
$fmonth = substr($month, 0, 1);
$fyear = substr($year, 2, 2);
$fday = substr($day, 0, 1);
$uniq = rand();
$funiq = substr($uniq, 0, 2);
$funiq1 = substr($uniq, 0, 1);
$joint= 'ST'.$fmonth.$fday.$funiq1.$fyear.$funiq ;
?>
<input type="text" name="username" value = "<?php echo $joint; ?>">
答案 0 :(得分:0)
如果您要在Laravel应用程序中实现UUID,它看起来确实更好:
https://medium.com/@steveazz/setting-up-uuids-in-laravel-5-552412db2088
UUID是“通用唯一标识符”的缩写,“通用唯一标识符”是一组包含字母和数字的36个字符。每一套都应该是独一无二的,每100年只有一次重复的机会,你可以阅读更多关于它的内容,并在这里和这里查看一些很酷的统计数据。
也不要在输入上加值 - 生成唯一的ID服务器端(在您的控制器/型号中)。
如果您在输入中保留唯一值,则不会阻止用户实际更改该值。