사용자 이름이 db에 있는지 확인하고 새로운 사용자 이름을 생성하는 다른 함수를 호출하는 간단한 함수를 작성하려고합니다. 내 코드는하지만 넘어 보인다 :사용자 이름이 존재하는지 확인하고 PHP 사용자 인 경우 새 사용자 이름을 생성하십시오.
이름 기능 : -
$user1=create_username($fname, $company);
function create_username($surname, $company){
//$name_method=str_replace(" ", "", $surname);
$name_method=$surname.$forename;
$company_name_method=str_replace(" ", "", $company);
if(strlen($name_method)<=5)
{
$addition=rand(11,99);
$first=$addition.$name_method;
}
else
{
$first=substr($name_method,0,5);
}
if(strlen($company_name_method)<=5)
{
$addition2=rand(11,99);
$second=$addition2.$company_name_method;
}
else
{
$second=substr($company_name_method,0,5);
}
$middle=rand(100,1000);
$username=$first.$middle.$second;
return($username);
}
확인 아이디 기능 :
이check_user($user1, $dbc, $fname, $company);
function check_user($user1, $dbc, $surname, $company){
$check_username="SELECT username FROM is_user_db WHERE username='$user1'";
$resultx=mysqli_query($dbc, $check_username) or die("Could not check username");
$num_rows=mysqli_num_rows($resultx);
if($num_rows>0)
{
$user1=create_username($fname, $company);
check_user($user1, $dbc, $fname, $company);
}
else
{
return($user1);
}
}
그냥 원래 이름을 반환하는 것 같다.
함수에 하나의 이름 만 전달하는 것처럼 보입니다. – DaveP
첫 번째 코드 줄은 이름을 전달하는 것으로 보이고 함수는 성을 기대하지만 ... forename을 참조합니다. 한 줄씩 살펴보고 코드에서 수행 할 작업을 결정해야합니다. 들여 쓰기로 코드를 포맷하면 도움이 될 것입니다. – Pete