ساخت نام کاربری تصادفی بر اساس اطلاعات وارد شده در PHP

ساخت نام کاربری تصادفی در PHP – احتمالا در خیلی از شبکه اجتماعی شاهد این بوده اید که نام کاربری از قبل ساخته شده .
به شما پیشنهاد استفاده از نام کاربری تصادفی که بر اساس نام و اطلاعات وارد شده تان میباشد را می دهد ،
از نمونه های ساخت حساب کاربری در گوگل ، اینستاگرام و …
1- فرم ارسال درخواست نام کاربری تصادفی
<div class="form-wrapper" dir="ltr">
<input type="text" name="fullname" id="fullname" placeholder="fullname"><br><br>
<input type="text" name="username" id="username" placeholder="username"><br><br>
<div class="msg" id="normal"></div><br><br>
<button id="check-user-btn" onclick="check_username(event)">بررسی</button>
</div>
2- app.js برای ارسال درخواست ( Ajax )
function check_username(e){
const thisElement = e.target;
const fullnameDOM = document.getElementById("fullname");
const usernameDOM = document.getElementById("username");
const messageDOM = document.getElementsByClassName("msg")[0];
messageDOM.id = "normal"
messageDOM.innerHTML = "";
thisElement.setAttribute("disabled" , "disabled");
if(fullnameDOM.value != "" && usernameDOM.value != ""){
const xhr = new XMLHttpRequest();
xhr.responseType = "json";
xhr.open("POST" , location.origin + "/check-username.php");
xhr.onerror = function(){
console.log("XHR error");
}
xhr.onload = function(){
const response = this.response;
if(response.status === -1){
messageDOM.id = "orange";
messageDOM.innerHTML = `نام کاربری از قبل ثبت شده می توانید از <strong>${response.username_generated}</strong> استفاده کنید`;
}else if(response.status === 1){
messageDOM.id = "green";
messageDOM.innerHTML = "نام کاربری انتخاب شده قابل ثبت می باشد";
}
thisElement.removeAttribute("disabled");
}
const frmData = new FormData();
frmData.append("fullname",fullnameDOM.value);
frmData.append("username",usernameDOM.value);
xhr.send(frmData);
}else{
alert("لطفا نام کاربری و نام را کامل وارد کنید");
thisElement.removeAttribute("disabled");
}
}
3- check-username.php برای بررسی نام کاربری
ابتدا بررسی می کند که آیا نام کاربری از قبل ثبت شده یا نه ، درصورتی که ثبت شده بود آن نام کاربری . بر اساس نام کاربری + عدد تصادفی ، نام کاربری جدید را به وجود می آورد .
<?php
header("Content-Type: application/json");
require_once "inc/db.php";
$post_data = $_POST;
if (!empty($post_data['fullname']) && !empty($post_data['username'])) {
$row_exist = row_exist($post_data['username']);
if($row_exist){
$new_username_generated = null;
while ($new_username_generated === null) {
$number = rand(569 , 10000);
$temp_new_username_generated = $post_data['fullname'] . $number;
$row_exist = row_exist($temp_new_username_generated);
if(!$row_exist){
$new_username_generated = $temp_new_username_generated;
break;
}
}
$message = ["message" => "Username already exists", "status" => -1 , "username_generated" => $new_username_generated];
}else{
$message = ["message" => "Username available", "status" => 1 , "username" => $post_data['username']];
}
} else {
$message = ["message" => "Please fill in the required fields", "status" => 0];
}
echo json_encode($message);
?>
دموی ساخت نام کاربری تصادفی در PHP

قبل از اجرای برنامه وارد پوشه users DATABASE to import شده دیتابیس را import کنید
ارسال نظر