2016-08-20 1 views
1
イントロ

:要求されたユーザ名は、アレイ内にある場合
は、だから私はPHPユーザー名チェッカーを作りました。テキストが配列であるかどうかの確認が、PHPでの大文字と小文字が区別されていない

問題:コードをチェックし、ユーザー名が配列にリストされている場合場合
問題は、それが敏感if (in_array($username, $special))ケースを削除する方法はあり、大文字と小文字が区別のですか?

コード:

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <meta http-equiv="x-ua-compatible" content="ie=edge"> 
    <title>Check Username</title> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/css/bootstrap.min.css" integrity="sha384-y3tfxAZXuh4HwSYylfB+J125MxIs6mR5FOHamPBG064zB+AFeWH94NdvaCBm8qnd" crossorigin="anonymous"> 
    </head> 
    <body> 
    <br> 
    <div class="container"> 
     <form method="post"> 
     <input type="text" name="username" placeholder="Username"> 
     <input type="submit" value="Check"> 
     </form> 
     <?php 
     $username = $_POST['username']; 
     # this is the Array 
     $special = array("Admin", "Mod"); 
      if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
       if (in_array($username, $special)) { 
       echo "Username not available!"; 
       } else { 
       echo "The username is available!"; 
       } 
      } 
     ?> 
    </div> 

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/js/bootstrap.min.js" integrity="sha384-vZ2WRJMwsjRMW/8U7i6PWi6AlO1L79snBrmgiDpgIWJ82z8eA5lenwvxbMV1PAh7" crossorigin="anonymous"></script> 
    </body> 
</html> 

答えて

2

あなたは配列が小文字で有効なユーザ名を追加作成するときは、(通常は標準となる)小文字を区別しないケースのように、ユーザー名の名前を探している場合投稿ユーザ名を小文字に変換します。これらの線に沿って

何かで十分です:

... 
// Convert post username to lower 
$username = strtolower($_POST['username']); 
# this is the Array 
// Create the array of valid usernames with lowercase values 
$special = array("admin", "mod"); 
... 
0

申し訳ありません!私は間違いました。このようにin_arrayを使用できます。

in_array(strtolower($username), array_map('strtolower', $special)); 
0

)(作り付けの関数preg_grepを使用します。

$a= array(
'alpha', 
'beta', 
'gamma' 
); 

print_r(preg_grep("/BeTa/i" , $a)); 
関連する問題