インターネットの普及に伴い、ユーザーのログインおよび登録システムも多くの Web サイトにとって不可欠な機能になりました。この記事では、PHP 言語を使用して簡単なユーザーのログインと登録システムを実装します。
まず、ユーザー情報を保存するデータベースを作成する必要があります。 MySQL データベースを使用し、ユーザー名とパスワードを保存する「users」というテーブルを作成します。
CREATE TABLE users (
id INT(11) NOT NULL AUTO_INCREMENT, username VARCHAR(50) NOT NULL, password VARCHAR(255) NOT NULL, PRIMARY KEY (id)
);
次に、登録ページを作成する必要があります。ユーザーにユーザー名とパスワードの入力を求めます。登録ページでは、HTML フォームを使用してユーザーの入力情報を収集し、PHP コードを使用してこの情報をデータベースに挿入する必要があります。
以下は、簡単な登録ページのコードです:
<title>用户注册</title>
< ;/head>
<h1>用户注册</h1> <form action="register.php" method="post"> <label>用户名:</label> <input type="text" name="username" required> <br><br> <label>密码:</label> <input type="password" name="password" required> <br><br> <input type="submit" value="注册"> </form>
上記のコードでは、HTML フォームを使用してデータを収集します。ユーザーは情報を入力し、フォームの action 属性を「register.php」に設定します。これは、ユーザーがフォームを送信すると、PHP コードが入力情報を処理することを意味します。次に、これらの入力を処理するための register.php ファイルを作成します。
フォーム データをデータベースに挿入する前に、入力データが有効であることを確認する必要があります。ユーザー名が一意であり、パスワードが暗号化されていることを確認します。以下は register.php ファイルのコードです:
// ユーザー入力の取得
$username = $_POST['username'];
$password = $_POST[ 'password'];
//データベース接続のテスト
$mysqli = new mysqli('localhost', 'root', '', 'test');
if ($ mysqli-> ;connect_errno) {
die('连接失败: '.$mysqli->connect_error);
}
// ユーザー名が一意であるかどうかを確認します
$result = $mysqli->query("SELECT * FROM users WHERE username= '$username' ");
if ($result->num_rows > 0) {
die('用户名已存在');
}
// 暗号化されたパスワード
$password = password_hash($パスワード, PASSWORD_DEFAULT) ;
// ユーザー情報をデータベースに挿入します
$sql = "INSERT INTO users (username,password) VALUES ('$username', '$password')";
if ($mysqli ->query($sql)) {
echo '注册成功';
} else {
echo '注册失败: '.$mysqli->error;
}
?>
register.php 内上記のファイルでは、まずユーザーが入力したユーザー名とパスワードを取得します。次に、ユーザー名がデータベースにすでに存在するかどうかを確認します。次に、password_hash 関数を使用してパスワードを暗号化します。最後に、ユーザー名と暗号化されたパスワードをデータベースに挿入します。挿入が成功すると、「登録成功」のメッセージが出力されます。それ以外の場合は、「登録に失敗しました」というメッセージが出力されます。
次に、ユーザーが登録したユーザー名とパスワードを入力するためのログインページを作成します。ログイン ページでは、HTML フォームを使用してユーザーの入力情報を収集し、PHP コードを使用してユーザーの身元を認証します。
以下は、単純なログイン ページのコードです:
<title>用户登录</title>
< ;/head>
<h1>用户登录</h1> <form action="login.php" method="post"> <label>用户名:</label> <input type="text" name="username" required> <br><br> <label>密码:</label> <input type="password" name="password" required> <br><br> <input type="submit" value="登录"> </form>
上記のコードでは、HTML フォームを使用してデータを収集します。ユーザーの入力情報とフォームの action 属性は「login.php」に設定されます。これは、ユーザーがフォームを送信すると、PHP コードが入力情報を処理することを意味します。次に、ユーザーの身元情報を確認するために、login.php ファイルを作成します。
ユーザーのログイン要求を処理する前に、入力されたデータが有効であることを確認する必要があります。ユーザー名が存在するかどうか、および入力されたパスワードがデータベース内のパスワードと一致するかどうかを確認します。以下は、login.php ファイルのコードです:
// ユーザー入力を取得します
$username = $_POST['username'];
$password = $_POST[ 'password'];
//データベース接続のテスト
$mysqli = new mysqli('localhost', 'root', '', 'test');
if ($ mysqli-> ;connect_errno) {
die('连接失败: '.$mysqli->connect_error);
}
// ユーザー名が存在するかどうかを確認します
$result = $mysqli->query("SELECT * FROM users WHERE username=' $username' ");
if ($result->num_rows == 0) {
die('用户名不存在,请检查输入');
}
// パスワードが正しいか確認してください
$user = $result-> fetch_assoc();
if (!password_verify($password, $user['password'])) {
die('密码错误,请检查输入');
}
echo 'ようこそ'.$ username;
?>
上記のlogin.phpファイルでは、まずユーザーが入力したユーザー名とパスワードを取得します。次に、ユーザー名がデータベースに存在するかどうかを確認します。次に、そのユーザーのパスワードをデータベースから取得し、password_verify 関数を使用して、入力されたパスワードがデータベース内のパスワードと一致するかどうかを確認します。パスワードが一致すると、ウェルカムメッセージが出力されます。それ以外の場合は、エラー メッセージを出力し、プログラムを終了します。
これまでに、簡単なユーザーのログインと登録システムの実装が完了しました。ユーザーはWebサイト上でアカウントを登録し、ログインすることで特定のページにアクセスできるシステムです。もちろん、これは最も基本的な実装方法にすぎず、実際のアプリケーションでは、システムの可用性とセキュリティを確保するために、より複雑な機能が必要になります。
以上がPHPを使用してユーザーのログインと登録システムを実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。