PHP を使用してユーザー登録とログインを実装する
現代のインターネット時代では、ユーザー登録とログインは避けられないプロセスです。 Web 開発者として、ユーザー登録およびログイン システムを構築する方法を理解することは非常に重要です。この記事では、PHPを使用してユーザー登録とログインを実装する方法を紹介します。
ステップ 1: データベースを作成する
始める前に、データベースを作成する必要があります。 MySQLデータベースを使用します。 ID、ユーザー名、およびパスワードのフィールドを含む「users」という名前のテーブルを MySQL に作成します。次の SQL ステートメントを使用してテーブルを作成できます。
CREATE TABLE users
(
id
int(11) NOT NULL AUTO_INCREMENT,
username
varchar(50) NOT NULL ,
password
varchar(255) NOT NULL,
主キー (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
ステップ 2: 登録フォームを作成する
次に、ユーザー登録フォームを作成する必要があります。 HTML と PHP コードを使用してフォームを構築します。
<title>User Registration</title>
<h2>User Registration</h2> <form action="register.php" method="post"> <label>Username:</label><br> <input type="text" name="username" required><br> <label>Password:</label><br> <input type="password" name="password" required><br> <input type="submit" value="Register"> </form>
上記のコードは、ユーザー名とパスワードの入力ボックスと送信ボタンを含む HTML フォームを作成します。 「method」属性を「post」に設定し、フォームを「register.php」に送信します。
ステップ 3: 登録フォームの送信を処理する
次に、登録フォームの送信を処理し、ユーザー情報をデータベースに保存するために「register.php」ファイルを作成する必要があります。
//データベースに接続します
$servername = "localhost";
$username = "yourusername";
$password = "yourpassword";
$dbname = "yourdatabase";
$conn = new mysqli($servername, $username, $password, $dbname);
//データベース接続を確認します
if ( $ conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//フォームで送信された値を取得します
$username = $_POST['username'];
$password =password_hash( $_POST['password'], PASSWORD_DEFAULT);
//データベースにレコードを挿入します
$sql = "ユーザー (ユーザー名、パスワード) の値に挿入します ('$ユーザー名', ' $password') ";
if ($conn->query($sql) === TRUE) {
echo "Registration successful";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
上記のコードは、まずデータベースに接続します。次に、送信されたフォームの値からユーザー名とパスワードを取得し、「password_hash」関数を使用してパスワード ハッシュをデータベースに保存します。最後に、SQL ステートメントを実行して、ユーザー名とハッシュされたパスワードを「users」テーブルに挿入します。
ステップ 4: ログイン フォームを作成する
次に、ユーザーの身元を確認するためにユーザー ログイン フォームを作成する必要があります。 HTML と PHP コードを使用してフォームを作成します。
<title>User Login</title>
<h2>User Login</h2> <form action="login.php" method="post"> <label>Username:</label><br> <input type="text" name="username" required><br> <label>Password:</label><br> <input type="password" name="password" required><br> <input type="submit" value="Login"> </form>
上記のコードは、ユーザー名とパスワードの入力ボックスと送信ボタンを含む HTML フォームを作成します。 「method」属性を「post」に設定し、フォームを「login.php」に送信します。
ステップ 5: ログイン フォームの送信を処理する
次に、ログイン フォームの送信を処理し、ユーザーの身元を確認するために「login.php」ファイルを作成する必要があります。
//データベースに接続します
$servername = "localhost";
$username = "yourusername";
$password = "yourpassword";
$dbname = "yourdatabase";
$conn = new mysqli($servername, $username, $password, $dbname);
//データベース接続を確認します
if ( $ conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//フォームで送信された値を取得します
$username = $_POST['username'];
$password = $_POST ['パスワード'];
//データベースからユーザー情報を取得します
$sql = "SELECT * FROM users WHERE username = '$username'";
$result = $ conn->query($sql);
if ($result->num_rows == 1) {
$row = $result->fetch_assoc(); if (password_verify($password, $row['password'])) { echo "Login successful"; } else { echo "Invalid username or password"; }
} else {
echo "Invalid username or password";
}
$conn->close();
?>
上記のコードは、まずデータベースに接続します。次に、送信されたフォームの値からユーザー名とパスワードを取得します。次に、SELECT ステートメントを実行して、そのユーザー名を含むレコードを「users」テーブルから取得します。レコードが見つかった場合は、そのレコードのパスワード ハッシュが送信されたパスワードと比較されます。パスワードが一致する場合は「ログイン成功」が出力され、一致しない場合は「無効なユーザー名またはパスワード」が出力されます。
概要
この記事では、PHP と MySQL データベースを使用して、ユーザー登録とログイン システムを実装します。この記事では、次の方法を学びました:
実際のアプリケーションでは、必要に応じて変更および拡張できます。
以上がphpを使用してユーザー登録とログインを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。