Я занимаюсь разработкой приложения с использованием Laravel, которое будет иметь функциональность для регистрации пользователей.
Я хочу предоставить индивидуальный уникальный идентификатор каждому пользователю (то есть: User_id = SM129).
Userid будет иметь следующие функции:
1) Идентификатор пользователя будет автоматически сгенерирован при регистрации.
2) Автоматически сгенерированный идентификатор пользователя должен быть проверен в базе данных на его уникальность.
В настоящее время я использую следующий код для создания уникального идентификатора пользователя на основе текущей даты. но есть вероятность двуличия на имя пользователя с этим. Пожалуйста помоги
<?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; ?>">
Похоже, на самом деле было бы лучше, если бы вы реализовали UUID в своем приложении Laravel:
https://medium.com/@steveazz/setting-up-uuids-in-laravel-5-552412db2088
UUID — это сокращение от «универсальный уникальный идентификатор», который представляет собой набор из 36 символов, содержащий буквы и цифры. Каждый набор должен быть уникальным, с возможностью повторения каждые 100 лет, вы можете прочитать больше об этом и посмотреть некоторые интересные статистические данные здесь и здесь.
Также не вводите значение в ваш ввод — генерируйте уникальный идентификатор сервера (либо в вашем контроллере / модели).
Если вы оставите уникальное значение во вводе, то ничто не остановит пользователей от фактического изменения этого значения.
Других решений пока нет …