2017-06-09 18 views
0

私は$ user-> loginのようなPDO機能を備えた単純なログインシステムを作った。私はユーザーがユーザ、ユーザのようにどんな場合でもユーザ名でログインできるようにします。コードの本質を変えずにこのスクリプトで大文字と小文字を区別するにはどうすればよいですか。大文字と小文字を区別するPHP PDOログインスクリプト

<?php 

require_once('includes/config.php'); 

if($user->is_logged_in()){ header('Location: topage.php'); } 

$message = ""; 

if(isset($_POST['submit'])){ 

    $username = $_POST['username']; 
    $password = $_POST['password']; 

    if($user->login ($username,$password)){ 
    $_SESSION['username'] = $username; 
    header('Location: topage.php'); 
    exit; 

    } else { 
    $error[] = 'Wrong username or password or your account has not been activated.'; 
    } 

} 

?> 

そしてまた私のパスワードは、PDOコマンド

$hashedpassword = $user->password_hash($_POST['password'], PASSWORD_BCRYPT); 

を使用して塩漬けし、ログイン機能はlatin1_binするテーブルの列の照合順序を変更するには

public function login($username,$password){ 

    $row = $this->get_user_hash($username); 

    if($this->password_verify($password,$row['password']) == 1){ 

     $_SESSION['loggedin'] = true; 
     $_SESSION['username'] = $row['username']; 
     $_SESSION['memberID'] = $row['memberID']; 
     return true; 
    } 
} 
+2

表示されていません: 'login()'とは何ですか。それが重要なコードです。 – tadman

+0

**警告**:独自のアクセス制御レイヤーを作成するのは簡単ではなく、間違った操作をする機会がたくさんあります。 [Laravel](http://laravel.com/)のような最新の[開発フレームワーク](http://codegeekz.com/best-php-frameworks-for-developers/)がある場合は、独自の認証システムを作成しないでください。強力な[認証システム](https://laravel.com/docs/5.4/authentication)が組み込まれています。 – tadman

+1

フレームワークは必ずしも必要ではありません。ありがとう@Akintundeログイン機能 – Akintunde007

答えて

2

使用phpmyadminのです。 大文字と小文字を区別するカラムにこれを行います。

+0

その作業と感謝@arthur。 –

関連する問題