ホームページ  >  記事  >  バックエンド開発  >  PHP ログイン ユーザー名とパスワード検証プログラム コード_PHP チュートリアル

PHP ログイン ユーザー名とパスワード検証プログラム コード_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:44:211103ブラウズ

ログイン用のPHPユーザー名とパスワード検証サンプルプログラム。学習が必要な友人はそれを参照できます。

。ログイン時にユーザーが入力したユーザー名とパスワードを確認します。

コードは次のとおりですコードをコピー

2、调用验证器実行验证

/**

 * ログイン用のバリデータ
 */
最終クラス LoginValidator {

プライベート関数 __construct() {


}

/**

     * 指定されたユーザー名とパスワードを検証します。
     * @param $username と $password を検証します
     * @return array {@link Error} の配列
    */
パブリック静的関数 validate($username, $password) {
$errors = array();
$username = トリム($username);
if (!$username) {
$errors[] = new Error('ユーザー名', 'ユーザー名を空にすることはできません。');
} elseif (strlen($username) $errors[] = new Error('ユーザー名', 'ユーザー名の長さは 3 文字未満にすることはできません。');
} elseif (strlen($username)>30) {
$errors[] = new Error('ユーザー名', 'ユーザー名の長さは 30 文字を超えることはできません。');
} elseif (!preg_match('/^[A-Za-z]+$/',substr($username, 0, 1))) {
$errors[] = new Error('ユーザー名', 'ユーザー名は文字で始まる必要があります。');
} elseif (!preg_match('/^[A-Za-z0-9_]+$/', $username)) {
$errors[] = new Error('username', 'ユーザー名には文字、数字、アンダースコア (_) の組み合わせのみを使用できます。');
} elseif (!trim($password)) {
$errors[] = new Error('パスワード', 'パスワードを空にすることはできません。');
} else {
// use が存在するかどうかを確認します
$dao = new UserDao();
$user = $dao->findByName($username);

if ($user) {

If (!($user->getPassword() == sha1($user->getSalt() . $password))) {
​​​​​​​​​​​​ }
} else {
$errors[] = new Error('ユーザー名', 'ユーザー名が存在しません。');
}
}
return $errors;
}
}

?>

代码如下 复制幣


$ユーザー名 = null;
$パスワード = null;

$msg = "";

if (isset($_POST['ユーザー名']) && isset($_POST['パスワード'])) {
    $username = addedlashes(trim(stripslashes($_POST ['username'])));
    $password = addedlashes(trim(stripslashes($_POST ['password'])));
    // 検証します
    $errors = LoginValidator::validate($username, $password);
   
    if (empty($errors)) {
        // 最新の IP またはログイン時刻をデータベースに保存し、ページ転送を処理します
        $dao = 新しい UserDao();
        $user = $dao->findByName($username);
        $last_login_ip = Utils::getIpAddress();
        $user->setLastLoginIp($last_login_ip);
        $now = new DateTime();
        $user->setLastLoginTime($now);
        $dao->save($user);
        UserLogin::setUserInfo($user);
        Flash::addFlash('登录成功!');
        ユーティリティ::リダイレクト('ようこそ');
    }
   
    foreach ($errors as $e) {
        $msg .= $e->getMessage()."
";
    }

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/633096.html技術記事 1 つの PHP ログイン時のユーザー名とパスワードのテスト プログラムは、必要に応じて友人が参照できるようにするための参考資料です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。