php はログイン データベースを実装します
最新の Web アプリケーションでは、ユーザー認証が非常に重要です。一般的な認証方法は、ユーザーがユーザー名とパスワードを入力することです。リクエストを受信した後、サーバーはユーザーが入力した情報が正しいかどうかを検証します。検証に成功した場合にのみ、関連する情報に正常にアクセスできます。このプロセスでは、通常のユーザー認証を行うために、双方が協力する必要があります。その中でも、データベースを利用してサーバー側にユーザー情報を保存する方法は、現在最も一般的な実装方法の 1 つです。
それでは、PHP を使用してデータベース ユーザー ログインを実装するにはどうすればよいでしょうか?この記事では、このプロセスについて説明します。
まず最初に、ユーザー認証プロセスには通常次の手順が含まれることを明確にする必要があります。
以下では、データベースにログインするプロセスを実装する方法をステップごとに紹介します。
ステップ 1: データベースの作成
ログイン機能の実装を開始する前に、まずデータベースを作成する必要があります。この記事では、例として MySQL データベースを使用します。まず MySQL をインストールし、次に MySQL にログインして「test」という名前のデータベースを作成する必要があります。
CREATE DATABASE テスト;
作成が完了したら、ユーザー テーブルを作成する必要があります。このユーザー テーブルには、ユーザーのユーザー名とパスワードを保存する必要があります。
CREATE TABLE users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
ユーザー名 VARCHAR(30) NOT NULL,
パスワード VARCHAR(30) NOT NULL
);
ステップ 2: データベースへの接続
##データベースに接続する前に、まず関連する接続情報を構成する必要があります。この情報には、データベースのユーザー名、パスワード、ホスト名、ポートなどが含まれます。この構成情報を別のファイルに保存し、必要なときにこのファイルを含めることができます。 config.php などの構成ファイル: $servername = "localhost";die("连接失败: " . $conn->connect_error);
?>
// 主动设置编码,防止中文出现乱码 header('Content-type:text/html;charset=utf-8'); $input_username = mysqli_real_escape_string($conn,$_POST['username']); $input_password = mysqli_real_escape_string($conn,$_POST['password']); // SQL语句 $sql = "SELECT * FROM users WHERE username = '$input_username'"; $result = mysqli_query($conn,$sql); $row = mysqli_fetch_array($result,MYSQLI_ASSOC); $count = mysqli_num_rows($result); // 如果查询到了该用户,检查密码是否正确 if($count == 1) { if(password_verify($input_password, $row['password'])) { // 密码正确,将用户信息存入session中 session_start(); $_SESSION["username"] = $row['username']; $_SESSION["login_time"] = time(); echo '登陆成功'; } else { // 密码错误,返回错误信息 echo '密码错误'; } } else { // 没有查询到该用户,返回错误信息 echo '用户名不存在'; }
?>
上記のコードでは、mysqli_real_escape_string 関数を使用して文字列をエスケープし、SQL インジェクションの脆弱性を回避しています。同時に、password_verify 関数を使用して、ユーザーが入力したパスワードが正しいかどうかを検証し、入力されたパスワードと暗号化されたパスワードが同じかどうかを比較します。
この記事では、PHP を使用してデータベース ユーザー ログインを実装する方法を紹介します。これには、データベースへの接続、ユーザー入力の取得、データベースのクエリのプロセスが含まれます。この記事の紹介により、誰もが PHP でのユーザー ログイン機能の実装方法をより明確に理解できると同時に、それに伴うセキュリティの問題にも気づくことができると思います。
以上がPHPはログインデータベースを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。