Facebook登録を実装しようとしています。それは機能し、必要なすべてのデータを取り戻しています。今、私は次のようにユーザー名をユーザーに割り当てたいと思います:
$username = ''.$first_name.'.'.$lastname.'';
問題は、同じ名前と姓を持つユーザーが Web サイトに登録されるかどうかわからないことです。ユーザー名が取得されているかどうかを確認し、基本的な $username にシーケンス番号を追加したいと考えています (Facebook も同じことを行います)。 )、 このような:
name.lastname
name.lastname.1
name.lastname.2
etc
私が試した:
$temp_username = ''.$first_name.''.$last_name.'';
$check_username = mysql_query("SELECT username FROM users WHERE username = '$temp_username'");
$num_rows = mysql_num_rows($check_username);
if ($num_rows == 0){
$username = strtolower($temp_username);
} else {
$username = strtolower(''.$temp_username.'.'.$num_rows.'');
}
ただし、そのユーザー名を持つユーザーは常に 1 人しかいないため、もちろん機能しません。
編集* * *これは私がそれを修正する方法です(ザンダーに感謝します):
$temp_username = ''.$first_name.''.$last_name.'';
$num_rows = mysql_num_rows(mysql_query("SELECT username FROM users WHERE username = '$temp_username' OR username LIKE '$temp_username%' "));
$username = strtolower(''.$temp_username.'.'.$num_rows.'');