2

入力したパスワードに入力したユーザー名が含まれている場合、パスにユーザー名を含めることができないというエラーを返すというもう1つのステップを追加しようとしています。私は「含む」について話しているのであって、パスワード全体ではありません。その場合、私は単に行うことができます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'];  
}    
4

3 に答える 3

3

これを条件に追加するだけです:

elseif(stristr($password, $username) !== false) // password contains username
{
    $error .= $lang['46'];  
}
于 2012-06-05T22:07:42.000 に答える
3

最も簡単なのはstriposです:

$username = "Corbin";
$password = "mynameiscorbin";
if (stripos($password, $username) !== false) {
    //password contains username
}
于 2012-06-05T22:07:49.380 に答える
0

を探していると思いますstripos()

于 2012-06-05T22:07:28.070 に答える