Un tutoriel pour les débutants! Peu importe où vous allez sur Internet, il existe un aliment de base que vous trouvez presque partout: l'enregistrement d'utilisateur. Que vous ayez besoin que vos utilisateurs s'inscrivent pour la sécurité ou pour une fonctionnalité supplémentaire, il n'y a aucune raison de ne pas le faire avec ce simple tutoriel. Dans ce tutoriel, nous allons passer en revue les bases de la gestion des utilisateurs, pour aboutir à un simple espace membre que vous pouvez implémenter sur votre propre site web..
Si vous avez besoin d’aide supplémentaire ou souhaitez obtenir un raccourci, consultez la liste des fournisseurs de services PHP sur Envato Studio. Ces développeurs expérimentés peuvent vous aider, que ce soit pour résoudre rapidement un bogue ou pour développer une application complète à partir de rien. Il suffit donc de parcourir les fournisseurs, lire les commentaires et les évaluations et choisir celui qui vous convient.
Dans ce didacticiel, nous allons décrire chaque étape de la création d’un système de gestion d’utilisateurs, ainsi que d’un système de messagerie privée entre utilisateurs. Nous allons faire cela en utilisant PHP, avec une base de données MySQL pour stocker toutes les informations sur les utilisateurs. Ce tutoriel est destiné aux débutants absolus de PHP. Aucune connaissance préalable n'est donc requise. En fait, vous risquez de vous ennuyer un peu si vous êtes un utilisateur expérimenté de PHP.!
Ce tutoriel est conçu comme une introduction de base aux sessions et à l'utilisation de bases de données en PHP. Bien que le résultat final de ce didacticiel ne vous semble pas immédiatement utile, les compétences que vous acquérez grâce à ce didacticiel vous permettront de créer votre propre système d'adhésion. convenant à vos propres besoins.
Avant de commencer ce didacticiel, assurez-vous de disposer des informations suivantes:
Si vous ne disposez pas de ces informations, votre fournisseur d'hébergement devrait pouvoir vous les fournir..
Maintenant que les formalités sont terminées, commençons le didacticiel.!
Comme indiqué dans l'introduction, vous avez besoin d'une base de données pour continuer au-delà de cette étape du didacticiel. Pour commencer, nous allons créer une table dans cette base de données pour stocker nos informations utilisateur..
La table dont nous avons besoin stockera nos informations d'utilisateur; Pour nos besoins, nous utiliserons un tableau simple, mais il serait facile de stocker plus d'informations dans des colonnes supplémentaires si c'est ce dont vous avez besoin. Dans notre système, nous avons besoin des quatre colonnes suivantes:
En termes de base de données, un Clé primaire est le champ qui identifie de manière unique la ligne. Dans ce cas, Identifiant d'utilisateur
sera notre clé primaire. Comme nous voulons que cela s'incrémente chaque fois qu'un utilisateur s'enregistre, nous allons utiliser l'option spéciale MySQL - incrémentation automatique
.
La requête SQL pour créer notre table est incluse ci-dessous et sera généralement exécutée dans l'onglet "SQL" de phpMyAdmin..
CREATE TABLE 'users' ('UserID' INT (25) NON NUL AUTO_INCREMENT PRIMARY KEY, 'Nom d'utilisateur' VARCHAR (65) NON NULL, 'Mot de passe' VARCHAR (32) NON NULL, 'EmailAddress' VARCHAR (255) NON NULL);
Afin de simplifier la création de notre projet, nous allons créer un fichier de base que nous pourrons inclure dans chacun des fichiers que nous créons. Ce fichier contiendra les informations de connexion à la base de données, ainsi que certaines variables de configuration qui nous aideront tout au long du processus..
Commencez par créer un nouveau fichier: base.php
, et entrez le code suivant:
Jetons un coup d'oeil à quelques-unes de ces lignes allons-nous? Quelques fonctions que nous avons utilisées et que nous n’avons pas encore expliquées, voyons-les rapidement et donnons-leur un sens - si vous comprenez déjà les bases de PHP, vous voudrez peut-être ignorer cette explication.
session_start ();
Cette fonction démarre une session pour le nouvel utilisateur. Plus tard dans ce tutoriel, nous stockerons les informations dans cette session pour nous permettre de reconnaître les utilisateurs déjà connectés. Si une session a déjà été créée, cette fonction le reconnaîtra et cette session à la page suivante.
mysql_connect ($ dbhost, $ dbuser, $ dbpass) ou die ("Erreur MySQL:". mysql_error ()); mysql_select_db ($ dbname) ou die ("Erreur MySQL:". mysql_error ());
Chacune de ces fonctions exécute une tâche distincte mais liée. le mysql_connect
fonction connecte notre script au serveur de base de données en utilisant les informations que nous avons données ci-dessus, et le mysql_select_db
fonction choisit ensuite la base de données à utiliser avec le script. Si l’une ou l’autre des fonctions ne s’achève pas, le mourir
La fonction intervient automatiquement et arrête le traitement du script - en laissant à tous les utilisateurs le message d'une erreur MySQL..
L'élément le plus important de notre page est la première ligne de PHP; cette ligne inclura le fichier que nous avons créé ci-dessus (base.php) et nous permettra essentiellement d'accéder à tout élément de ce fichier dans notre fichier actuel. Nous ferons cela avec la ligne suivante de code PHP. Créer un fichier nommé index.php
, et placez ce code en haut.
La première chose que nous allons faire pour notre interface est de créer une page dans laquelle les utilisateurs peuvent entrer leurs informations de connexion, ou s’ils sont déjà connectés dans une page où ils peuvent choisir ce qu’ils souhaitent faire. Dans ce tutoriel, je suppose que les utilisateurs ont des connaissances de base sur le fonctionnement de HTML / CSS et ne vont donc pas expliquer ce code en détail. pour le moment, ces éléments ne seront pas nommés, mais nous pourrons le changer plus tard lorsque nous créerons notre feuille de style CSS.
En utilisant le fichier que nous venons de créer (index.php
), entrez le code HTML suivant sous la ligne PHP que nous avons déjà créée.
Système de gestion des utilisateurs (Tom Cameron for NetTuts) Que leur montrerons-nous??
Avant de sortir le reste de la page, nous avons quelques questions à nous poser:
- L'utilisateur est-il déjà connecté??
- Oui - nous devons leur montrer une page avec des options pour qu'ils puissent choisir.
- Non - nous continuons sur la question suivante.
L'utilisateur a-t-il déjà soumis ses informations de connexion??
- Oui - nous devons vérifier leurs coordonnées, et si correct nous les enregistrerons sur le site.
- Non - nous continuons sur la question suivante.
Si les deux réponses ci-dessus ont été répondues Non, nous pouvons maintenant supposer que nous devons afficher un formulaire de connexion à l'utilisateur. Ces questions sont en fait les mêmes questions que nous allons implémenter dans notre code PHP. Nous allons le faire sous forme de
si des déclarations
. Sans rien entrer dans vos nouveaux fichiers, jetons un coup d'œil à la logique que nous allons utiliser en premier.Cela semble déroutant, n'est-ce pas? Séparons-le en petites sections et examinons-les un à un..
if (! empty ($ _SESSION ['LoggedIn']) &&! empty ($ _SESSION ['Nom d'utilisateur']])) // permet à l'utilisateur d'accéder à la page principaleLorsqu'un utilisateur se connecte à notre site Web, nous allons stocker ses informations dans une session. À tout moment par la suite, nous pourrons accéder à ces informations dans un tableau PHP spécial. -
$ _SESSION
. Nous utilisons levide
fonction pour vérifier si la variable est vide, avec l'opérateur!
devant elle. Par conséquent, nous disons:Si la variable $ _SESSION ['LoggedIn'] n'est pas vide et que $ _SESSION ['Nom d'utilisateur'] n'est pas vide, exécutez ce morceau de code.
La ligne suivante fonctionne de la même manière, mais cette fois en utilisant le
$ _POST
tableau global. Ce tableau contient toutes les données envoyées à partir du formulaire de connexion que nous allons créer plus tard dans ce tutoriel. La dernière ligne ne sera exécutée que si aucune des déclarations précédentes n'est satisfaite; dans ce cas, nous afficherons à l'utilisateur un formulaire de connexion.Alors, maintenant que nous comprenons la logique, introduisons du contenu entre ces sections. Dans ton
index.php
fichier, entrez ci-dessous ce que vous avez déjà.Espace membre
=$_SESSION['Username']?> et votre adresse e-mail est =$_SESSION['EmailAddress']?>
. Succès"; écho "Nous vous redirigeons maintenant vers l'espace membre.
"; écho ""; else echo"Erreur
"; écho "Désolé, votre compte n'a pas pu être trouvé. Veuillez cliquer ici pour réessayer.
"; else ?>Identifiant
Merci de votre visite! Veuillez vous connecter ci-dessous ou cliquer ici pour vous inscrire.
Espérons que les premier et dernier blocs de code ne vous embrouilleront pas trop. Ce dont nous avons vraiment besoin d’être coincés maintenant, c’est ce que vous avez tous décrit dans ce tutoriel - le code PHP. Nous allons maintenant parcourir la deuxième section, une ligne à la fois, et je vais expliquer à quoi chaque code est destiné ici..
$ username = mysql_real_escape_string ($ _ POST ['username']); $ password = md5 (mysql_real_escape_string ($ _ POST ['password']));
Deux fonctions doivent être expliquées pour cela. d'abord, mysql_real_escape_string
- une fonction très utile pour nettoyer les entrées de base de données. Ce n'est pas une mesure de sécurité, mais cela empêchera la majorité des pirates informatiques malveillants de supprimer les parties indésirables de tout ce qui a été mis dans notre formulaire de connexion. Deuxièmement, md5
. Il serait impossible d'entrer dans les détails ici, mais cette fonction crypte simplement ce qui lui est transmis - dans ce cas, le mot de passe de l'utilisateur - pour empêcher les regards indiscrets de le lire..
$ checklogin = mysql_query ("SELECT * FROM utilisateurs WHERE Username = '". $ username. "' AND Password = '". $ password. "'"); if (mysql_num_rows ($ checklogin) == 1) $ row = mysql_fetch_array ($ checklogin); $ email = $ row ['EmailAddress']; $ _SESSION ['Nom d'utilisateur'] = $ Nom d'utilisateur; $ _SESSION ['EmailAddress'] = $ email; $ _SESSION ['LoggedIn'] = 1;
Ici nous avons le noyau de notre code de connexion; tout d'abord, nous exécutons une requête sur notre base de données. Dans cette requête, nous recherchons tout ce qui concerne un membre, dont le nom d'utilisateur et le mot de passe correspondent aux valeurs de notre $ nom d'utilisateur
et $ mot de passe
que l'utilisateur a fourni. Sur la ligne suivante, nous avons une instruction if, dans laquelle nous vérifions le nombre de résultats que nous avons reçus. S'il n'y a pas de résultats, cette section ne sera pas traitée. Mais s'il y a un résultat, nous savons que l'utilisateur existe, et nous allons donc les connecter.
Les deux lignes suivantes consistent à obtenir l'adresse électronique de l'utilisateur. Nous disposons déjà de ces informations à partir de la requête que nous avons déjà exécutée afin de pouvoir facilement accéder à ces informations. Tout d'abord, nous obtenons un tableau des données extraites de la base de données - dans ce cas, nous utilisons la fonction PHP mysql_fetch_array
. J'ai ensuite attribué la valeur du Adresse électronique
champ à une variable pour que nous l'utilisions plus tard.
Maintenant nous définissons la session. Nous enregistrons le nom d'utilisateur et l'adresse électronique de l'utilisateur dans la session, ainsi qu'une valeur spéciale pour nous permettre de savoir qu'ils ont été connectés à l'aide de ce formulaire. Une fois que tout cela est dit et fait, ils seront ensuite redirigés vers la zone membre en utilisant le META REFRESH dans le code..
Alors, à quoi ressemble actuellement notre projet pour un utilisateur?
Génial! Il est temps de passer à autre chose maintenant, de faire en sorte que les gens puissent accéder à votre site..
C'est très bien d'avoir un formulaire de connexion sur votre site, mais nous devons maintenant permettre à l'utilisateur de l'utiliser - nous devons créer un formulaire de connexion. Faire un fichier appelé register.php
et y mettre le code suivant.
Système de gestion des utilisateurs (Tom Cameron for NetTuts) Erreur"; écho "Désolé, ce nom d'utilisateur est pris. S'il vous plaît revenir en arrière et essayez à nouveau.
"; else $ registerquery = mysql_query (" INSERT INTO utilisateurs (nom d'utilisateur, mot de passe, EmailAddress)) VALEURS ('". $ nom d'utilisateur."', "" $ mot de passe. "," ". $ email." ') "); if ($ registerquery) echo"Succès
"; écho "Votre compte a été créé avec succès. S'il vous plaît cliquez ici pour vous connecter.
"; else echo"Erreur
"; écho "Désolé, votre inscription a échoué. S'il vous plaît revenir en arrière et essayez à nouveau.
"; else ?>registre
Veuillez entrer vos coordonnées ci-dessous pour vous inscrire.