我有点坚持我的代码。
我正在练习并希望达到以下目标。
在用户注册之前,我想检查用户用户名是否存在,如果存在则将名称加一。
所以我的逻辑是这样的。用户给出他/她的名字和姓氏,基于此生成用户名。
功能
function unique_name($first_name, $last_name) {
$username = strtolower($first_name.'.'.$last_name)
$check = mysqL_query(" SELECT username WHERE username = '".$username."' ");
if(count($check == 1)) {
$i = 2;
foreach($check as $user) {
return $user['username'].$i;
$i++;
}
} else {
return $username;
}
}
$username = unique_name($_POST['first_name'], $_POST['last_name']);
// saveing the increased username
所以实际上脚本应该检查生成的唯一用户名是否存在如果exsits增加,并且即使它存在一个数字也会增加它
例子
汤姆安德森注册,用户名将是 tom.anderson,保存为汤姆安德森
第二个汤姆安德森注册,用户名将是tom.anderson,它已经存在,将新的保存为tom.anderson2。
第三个用户注册他也是tom anderson,用户名tom.anderson*存在两次,增加到tom.anderson3。
所以我检查用户是否存在并保存它没有问题,我的问题是,如果存在,如何增加每个用户名?
我不是要任何人为我写这个我只是在寻找一个提示
谢谢
编辑
感谢您的回复,但这不起作用
if(count($check) == 1) {
$i = 2;
foreach($check as $user) {
return $user['username'].count($check);
$i++;
}
} else {
return $username;
}
这只检查没有数字的用户名,所以如果用户名 tom.anderson 存在,它会增加到 tom.anderson1 但如果 tom.anderson1 也存在,它不会增加到 tom.anderson2