Maison > développement back-end > tutoriel php > Implémenter un système de connexion et d'enregistrement des utilisateurs à l'aide de PHP

Implémenter un système de connexion et d'enregistrement des utilisateurs à l'aide de PHP

王林
Libérer: 2023-05-11 08:38:01
original
3293 Les gens l'ont consulté

Avec l'application généralisée d'Internet, les systèmes de connexion et d'enregistrement des utilisateurs sont devenus des fonctions essentielles pour de nombreux sites Web. Dans cet article, nous allons implémenter un système simple de connexion et d’enregistrement des utilisateurs via le langage PHP.

  1. Création d'une base de données

Tout d'abord, nous devons créer une base de données pour stocker les informations des utilisateurs. Nous utiliserons une base de données MySQL et créerons une table appelée « utilisateurs » pour stocker les noms d'utilisateur et les mots de passe.

Utilisateurs CREATE TABLE (

id INT(11) NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
password VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
Copier après la connexion

);

  1. Page d'inscription

Connect Ensuite, nous devons créer une page d'inscription pour permettre aux utilisateurs de saisir leur nom d'utilisateur et leur mot de passe. Dans la page d'inscription, nous devons utiliser un formulaire HTML pour collecter les informations saisies par l'utilisateur et utiliser le code PHP pour insérer ces informations dans la base de données.

Voici le code pour une page d'inscription simple :



# 🎜 🎜#

<title>用户注册</title>
Copier après la connexion


<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>
Copier après la connexion


#🎜 🎜 #Dans le code ci-dessus, nous utilisons un formulaire HTML pour collecter les informations de saisie de l'utilisateur et définissons l'attribut d'action du formulaire sur "register.php", ce qui signifie que lorsque l'utilisateur soumet le formulaire, le code PHP traite l'entrée information. Ensuite, nous écrirons le fichier register.php pour gérer ces entrées.

Traitement de l'inscription
  1. Avant d'insérer les données du formulaire dans la base de données, nous devons nous assurer que les données saisies sont valides. Nous vérifions que les noms d'utilisateur sont uniques et que les mots de passe sont cryptés. Voici le code du fichier register.php :

// Obtenir la saisie de l'utilisateur

$username = $_POST['username'];#🎜 🎜#$ password = $_POST['password'];

// Tester la connexion à la base de données
$mysqli = new mysqli('localhost', 'root', '', 'test' );# 🎜🎜#if ($mysqli->connect_errno) {

die('连接失败: '.$mysqli->connect_error);
Copier après la connexion
Copier après la connexion

}

// Vérifiez si le nom d'utilisateur est unique

$result = $ mysqli-> query("SELECT * FROM users WHERE username='$username'");

if ($result->num_rows > 0) {

die('用户名已存在');
Copier après la connexion

}#🎜 🎜##🎜 🎜#// Crypter le mot de passe
$password = password_hash($password, PASSWORD_DEFAULT);

// Insérer les informations utilisateur dans la base de données

$sql = "INSERT INTO utilisateurs (nom d'utilisateur, mot de passe) VALUES ("$username", '$password')";

if ($mysqli->query($sql)) {

echo '注册成功';
Copier après la connexion

} else {

echo '注册失败: '.$mysqli->error;
Copier après la connexion

}
?>

Dans le fichier register.php ci-dessus, nous récupérons d'abord le nom d'utilisateur et le mot de passe saisis par l'utilisateur. Ensuite, nous vérifions si le nom d'utilisateur existe déjà dans la base de données. Ensuite, nous utilisons la fonction password_hash pour crypter le mot de passe. Enfin, nous insérons le nom d'utilisateur et le mot de passe crypté dans la base de données. Si l'insertion réussit, nous afficherons un message « Inscription réussie ». Sinon, nous afficherons un message « Échec de l'enregistrement ».

Page de connexion

Ensuite, nous créerons une page de connexion permettant à l'utilisateur de saisir son nom d'utilisateur et son mot de passe enregistrés. Dans la page de connexion, nous utiliserons un formulaire HTML pour collecter les informations saisies par l'utilisateur et utiliserons le code PHP pour authentifier les informations d'identité de l'utilisateur.

    Voici le code pour une page de connexion simple :

#🎜 🎜#

<title>用户登录</title>
Copier après la connexion

<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>
Copier après la connexion



#🎜🎜 #Dans le code ci-dessus, nous utilisons un formulaire HTML pour collecter les informations de saisie de l'utilisateur et définissons l'attribut d'action du formulaire sur "login.php", ce qui signifie que lorsque l'utilisateur soumet le formulaire, le code PHP traite les informations de saisie. . Ensuite, nous écrirons le fichier login.php pour vérifier les informations d'identité de l'utilisateur.


Traitement de connexion


Avant de traiter la demande de connexion de l'utilisateur, nous devons nous assurer que les données saisies sont valides. Nous vérifierons si le nom d'utilisateur existe et si le mot de passe saisi correspond au mot de passe de la base de données. Voici le code du fichier login.php :

// Obtenir la saisie de l'utilisateur

    $username = $_POST['username'];#🎜 🎜#$ password = $_POST['password'];
  1. // Tester la connexion à la base de données
$mysqli = new mysqli('localhost', 'root', '', 'test' );# 🎜🎜#if ($mysqli->connect_errno) {

die('连接失败: '.$mysqli->connect_error);
Copier après la connexion
Copier après la connexion

}


// Vérifiez si le nom d'utilisateur existe
$result = $mysqli -> query("SELECT * FROM utilisateurs WHERE username='$username'");
if ($result->num_rows == 0) {

die('用户名不存在,请检查输入');
Copier après la connexion

}#🎜🎜 ##🎜 🎜#// Vérifiez si le mot de passe est correct
$user = $result->fetch_assoc();
if (!password_verify($password, $user['password'])) {

die('密码错误,请检查输入');
Copier après la connexion

}

echo 'Welcome'.$username;
?>

Dans le fichier login.php ci-dessus, nous obtenons d'abord l'utilisateur Entrez le nom d'utilisateur et le mot de passe. Ensuite, nous vérifions si le nom d'utilisateur existe dans la base de données. Nous récupérons ensuite le mot de passe de cet utilisateur de la base de données et utilisons la fonction password_verify pour vérifier si le mot de passe saisi correspond au mot de passe de la base de données. Si les mots de passe correspondent, un message de bienvenue est affiché. Sinon, nous imprimons un message d'erreur et terminons le programme.

À ce stade, nous avons achevé la mise en œuvre d'un système simple de connexion et d'enregistrement des utilisateurs. Ce système permet aux utilisateurs de créer un compte sur le site Web et de se connecter afin d'accéder à des pages spécifiques. Bien entendu, il ne s’agit que de la méthode de mise en œuvre la plus élémentaire. Dans les applications réelles, des fonctions plus complexes sont nécessaires pour garantir la disponibilité et la sécurité du système.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal