簡體   English   中英

在PHP中生成唯一的用戶ID

[英]Generate unique user id in PHP

我正在使用Laravel開發一款具有注冊用戶功能的應用程序。 我想為每個用戶提供定制的唯一ID(即:User_id = SM129)。 用戶ID具有以下功能: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; ?>">

如果您要在Laravel應用程序中實現UUID,看起來似乎更好:

https://medium.com/@steveazz/setting-up-uuids-in-laravel-5-552412db2088

UUID是“通用唯一標識符”的縮寫,它是由36個字符組成的集合,包含字母和數字。 每個集合都應該是唯一的,每100年只有一次重復的機會,您可以閱讀更多有關它的信息,並在這里和這里查看一些很酷的統計數據。

也不要在輸入中輸入值-生成唯一的ID服務器端(在控制器/模型中)。

如果您在輸入中保留唯一值,則不會阻止用戶實際更改該值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM