Maison  >  Article  >  développement back-end  >  Comment implémenter la vérification du nom d'utilisateur dans php mysql

Comment implémenter la vérification du nom d'utilisateur dans php mysql

PHPz
PHPzoriginal
2023-04-19 11:36:17764parcourir

Pendant le processus de développement d'un site Web, le système de connexion des utilisateurs est une fonction très courante. L'une des étapes importantes consiste à vérifier si le nom d'utilisateur et le mot de passe saisis par l'utilisateur correspondent, en garantissant que l'utilisateur saisit les informations correctes avant d'entrer dans le système.

Cet article expliquera comment utiliser PHP et MySQL pour implémenter la fonction de vérification du nom d'utilisateur.

  1. Créer une base de données et une table utilisateur

Tout d'abord, nous devons créer une base de données dans MySQL et y créer une table utilisateur. Dans cette table utilisateur, nous devons inclure les champs suivants :

  • id : identifiant utilisateur, auto-croissant.
  • username : nom d'utilisateur, unique.
  • mot de passe : Mot de passe utilisateur, stocké après cryptage.
  • created_at : heure de création, enregistre l'heure d'enregistrement de l'utilisateur.

Nous pouvons utiliser l'instruction SQL suivante pour créer cette table utilisateur :

CREATE DATABASE test;
USE test;
CREATE TABLE utilisateurs (
id INT(11) NOT NULL AUTO_INCREMENT,
username VARCHAR(255) NOT NULL UNIQUE ,
mot de passe VARCHAR(255) NOT NULL,
created_at DATETIME NOT NULL,
PRIMARY KEY (id)
);

  1. Écrire du code PHP

Ensuite, nous devons écrire du code PHP pour nous connecter à la base de données MySQL et vérifier le nom d'utilisateur et le mot de passe. Ce qui suit est un exemple de code PHP simple :

//Informations de connexion à la base de données MySQL
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "test";

// Créer une connexion MySQL
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("La connexion a échoué : " . $conn->connect_error);
}

// Récupère le nom d'utilisateur et le mot de passe dans les paramètres POST
$username = $_POST["username"];
$password = $_POST["password"];

/ / Vérifier le nom d'utilisateur et le mot de passe
$sql = "SELECT * FROM users WHERE username='{$username}'";
$result = $conn->query($sql);

if ($result-> ;num_rows > 0) {
$row = $result->fetch_assoc();
if (password_verify($password, $row["password"])) {

echo "登录成功";

} else {

echo "密码不正确";

}
} else {
echo "Le nom d'utilisateur n'existe pas";
}

$conn->close();
?>

Le processus principal du code PHP ci-dessus comprend :

  1. Établir une connexion à la base de données MySQL pour la connexion et exploiter les données MySQL. Il comprend quatre paramètres de connexion : $servername, $username, $password et $dbname, qui sont utilisés pour spécifier l'adresse du serveur, le nom d'utilisateur, le mot de passe et le nom de la base de données de la connexion MySQL.
  2. Obtenez les paramètres POST soumis par l'utilisateur, y compris le nom d'utilisateur et le mot de passe.
  3. Utilisez l'instruction SQL SELECT pour demander s'il existe des enregistrements correspondant au nom d'utilisateur dans la table utilisateur. Si la correspondance réussit, utilisez la fonction password_verify pour vérifier si le mot de passe saisi par l'utilisateur est cohérent avec le mot de passe stocké dans la base de données. Ce qu'il faut noter ici, c'est que nous devons utiliser la fonction password_hash pour crypter le mot de passe de l'utilisateur avant de le stocker dans la base de données lors de l'enregistrement de l'utilisateur afin d'améliorer la sécurité.
  4. Si la vérification réussit, « Connexion réussie » sera affiché à l'utilisateur. Sinon, en fonction de l'erreur de vérification, "Le mot de passe est incorrect" ou "Le nom d'utilisateur n'existe pas" est affiché.
  5. Créer une page d'enregistrement d'utilisateur

Pour simplifier le processus d'enregistrement des utilisateurs et ajouter de nouveaux enregistrements d'utilisateurs dans la base de données, nous pouvons créer une page d'enregistrement d'utilisateur. Dans cette page, nous demanderons à l'utilisateur de renseigner son nom d'utilisateur et son mot de passe, et de transmettre ces informations au code PHP que nous avons écrit précédemment via la méthode POST.

Ce qui suit est un exemple de page d'enregistrement d'utilisateur simple :



Page d'enregistrement d'utilisateur


< ; h1>Inscription de l'utilisateur

<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br><br>
<label for="password">密码:</label>
<input type="password" id="password" name="password"><br><br>
<input type="submit" value="注册">



at Dans le code ci-dessus, nous utilisons la balise

pour créer un formulaire permettant de collecter le nom d'utilisateur et le mot de passe saisis par l'utilisateur lors du processus d'inscription. Parmi eux, le nom d'utilisateur est saisi à l'aide de la zone de texte et le mot de passe est saisi à l'aide de la zone de mot de passe.

  1. Résumé

Dans cet article, nous avons présenté comment utiliser PHP et MySQL pour implémenter la fonction de vérification du nom d'utilisateur. Nous avons d'abord créé une base de données MySQL et une table d'utilisateurs, puis créé un nom d'utilisateur unique et un mot de passe crypté pour chaque enregistrement utilisateur. Nous avons ensuite écrit un code PHP pour nous connecter à la base de données MySQL et vérifier si le nom d'utilisateur et le mot de passe saisis par l'utilisateur correspondent. Enfin, nous avons créé une page d'enregistrement des utilisateurs qui permet aux utilisateurs d'enregistrer un nouveau compte sous un formulaire personnalisé.

Ce qui précède est ce que présente cet article. J'espère qu'il pourra vous aider à mettre en œuvre votre fonction de vérification des utilisateurs.

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!

Déclaration:
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