Php 如何检查密码是否包含用户名

Php 如何检查密码是否包含用户名,php,Php,我试图添加一个步骤,若输入的密码包含输入的用户名,那个么它将返回一个错误,即pass不能包含用户名。我说的是“包含”,而不是整个密码。在这种情况下,我只需执行elseif($password==“$user_username”)$error.=$lang['46'];} $user_username = cleanit($_REQUEST['username']); STemplate::assign('user_username',$user_username); $password = cl

我试图添加一个步骤,若输入的密码包含输入的用户名,那个么它将返回一个错误,即pass不能包含用户名。我说的是“包含”,而不是整个密码。在这种情况下,我只需执行
elseif($password==“$user_username”)$error.=$lang['46'];}

$user_username = cleanit($_REQUEST['username']);
STemplate::assign('user_username',$user_username);
$password = cleanit($_REQUEST['password']);
STemplate::assign('password',$password);
if($user_username == "")
{
    $error .= $lang['41'];  //Error: Please enter your username
}
elseif(strlen($user_username) < 4) //Your username should have 4 chars 
{
    $error .= $lang['42'];  
}
elseif(!preg_match("/^[a-zA-Z0-9]*$/i",$user_username)) //name only contains letters and numbers
{
    $error .= $lang['43'];
}
elseif(!verify_email_username($user_username)) //username already taken
{
    $error .= $lang['44'];
}
elseif($password == "") //no password entered
{
    $error .= $lang['45'];  
}    
$user\u username=cleanit($\u请求['username']);
STemplate::assign('user\u username',$user\u username);
$password=cleanit($_请求['password']);
STemplate::assign('password',$password);
如果($user\u username==“”)
{
$error.=$lang['41'];//错误:请输入您的用户名
}
elseif(strlen($user\u username)<4)//您的用户名应该有4个字符
{
$error.=$lang['42'];
}
elseif(!preg_match(“/^[a-zA-Z0-9]*$/i”,$user_username))//名称仅包含字母和数字
{
$error.=$lang['43'];
}
elseif(!验证电子邮件用户名($user\u username))//用户名已被使用
{
$error.=$lang['44'];
}
elseif($password==“”)//未输入密码
{
$error.=$lang['45'];
}    

我想您正在寻找。

只需将此附加到您的病情中即可:

elseif(stristr($password, $username) !== false) // password contains username
{
    $error .= $lang['46'];  
}

最简单的事情是:


.不知怎的,你的剧本对我不起作用了。我所做的是,添加的密码不等于用户名,必须包含至少一个数字或特殊字符!preg#u匹配(“#[0-9\W]+#”,$password)
$username = "Corbin";
$password = "mynameiscorbin";
if (stripos($password, $username) !== false) {
    //password contains username
}