ホームページ  >  記事  >  バックエンド開発  >  メールアドレスまたはユーザー名でのログイン

メールアドレスまたはユーザー名でのログイン

WBOY
WBOYオリジナル
2016-09-22 08:56:481474ブラウズ

メールアドレスとパスワードというフィールドがあります

リーリー

上記は私のログイン構文です
ユーザーがメールアドレスまたはパスワードのペアを入力すると、ログインは成功します:

リーリー

ただし、ユーザーがユーザー名とパスワードを入力すると、ログインすることもできます

リーリー

上記の構文は、メールアドレスとパスワードを入力してログインする場合にのみ使用できます。
ユーザー名とパスワードを入力してログインすると、失敗します。
JOIN users_profile を確認して、ID を使用します。
何の問題もありません。問題は?

返信内容:

メールアドレスとパスワードというフィールドがあります

リーリー

上記は私のログイン構文です
ユーザーがメールアドレスまたはパスワードのペアを入力すると、ログインは成功します:

リーリー

ただし、ユーザーがユーザー名とパスワードを入力すると、ログインすることもできます

リーリー

上記の構文は、メールアドレスとパスワードを入力してログインする場合にのみ使用できます。
ユーザー名とパスワードを入力してログインすると、失敗します。
JOIN users_profile を確認して、ID を使用します。
何の問題もありません。問題はありますか?

を使用するときは括弧の追加に注意してください。 OR リーリー

ただし、このような SQL の使用はお勧めしません。

まず、コード内で正規表現を使用して、ユーザーが電子メールを入力するかユーザー名を入力するかを判断できます。電子メールの場合は、電子メール フィールドを使用してクエリを実行し、それ以外の場合はユーザー名フィールドを使用します。

参考: http://tool.oschina.net/regex#

まず、

コードは簡単に SQL インジェクションできるので、少なくとも mysqli を使用してください。個人的には PDO を強くお勧めします。

次に、私の個人的なアイデアは、フロントエンド ページのフォームに次のような入力があると想定することです:

リーリー

ここでは

を使用します: name="login" 来替换 email 或者 username リーリー

その場合、SQL ステートメントはおそらく次のようになります:

リーリー

もう一度言いますが、その書き方は非常に危険です。

情報参照先: http://php.net/manual/en/func...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。