Expressions régulières. Enregistrement de l'utilisateur PHP MySQL avec e-mail d'activation

Si vous avez besoin de rendre l'une des sections de votre site accessible à un cercle restreint mais indéfini de personnes, la manière la plus simple de le faire est d'enregistrer et d'autoriser les utilisateurs. Il existe de nombreuses façons d'autoriser les utilisateurs. Vous pouvez utiliser à la fois des outils de serveur Web et des outils de langage de programmation. Nous parlerons du cas où des sessions PHP sont utilisées.

Vous aimeriez probablement voir une manière plus moderne de créer un tel formulaire. Une représentation moderne et à jour complète de celui-ci est toujours dans mes plans, mais vous pouvez voir que le formulaire de commentaires peut être construit en utilisant des techniques orientées objet en PHP.

Pour commencer, discutons de toutes les étapes que nous allons suivre. De quoi avons-nous vraiment besoin ? Nous avons besoin d'un script qui enregistrera l'utilisateur, autorisera l'utilisateur, redirigera l'utilisateur quelque part après l'autorisation. Nous devrons également créer une page qui sera protégée contre l'accès par des utilisateurs non autorisés. Pour l'enregistrement et l'autorisation, nous devrons créer des formulaires HTML. Nous stockerons les informations sur les utilisateurs enregistrés dans une base de données. Cela signifie que nous avons toujours besoin d'un script de connexion au SGBD. Tout le travail que nous effectuerons fonctionne que nous écrivons nous-mêmes. Nous enregistrerons ces fonctions dans un fichier séparé.

Nous avons donc besoin des fichiers suivants :

  • connexion au SGBD ;
  • fonctions personnalisées ;
  • autorisation;
  • inscription;
  • page sécurisée ;
  • script d'arrêt de l'utilisateur ;
  • un script qui vérifie le statut d'autorisation de l'utilisateur ;
  • feuille de style pour la conception la plus simple de nos pages.

Tout cela n'aura aucun sens si vous n'avez pas de table correspondante dans la base de données. Lancez votre outil de gestion de SGBD (PhpMyAdmin ou ligne de commande, selon ce qui est le plus pratique) et exécutez-y la requête suivante :

CREATE TABLE `users` (`id` int(11) NOT NULL AUTO_INCREMENT, `login` char(16) NOT NULL, `password` char(40) NOT NULL, `reg_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (` id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Je vais nommer nos fichiers de script comme ceci (ils seront tous dans le même répertoire) :

  • base de données.php
  • fonctions.php
  • login.php
  • inscription.php ;
  • index.php;
  • logout.php;
  • checkAuth.php ;
  • style.css

Le but de chacun d'eux, je suis sûr que vous comprenez. Commençons par le script de connexion au SGBD. Vous l'avez déjà vu. Enregistrez simplement ce code de script dans un fichier appelé database.php . Nous allons déclarer les fonctions personnalisées dans le fichier functions.php. Comment tout cela fonctionnera-t-il ? Un utilisateur non autorisé tente d'accéder à un document index.php protégé, le système vérifie si l'utilisateur est autorisé, si l'utilisateur n'est pas autorisé, il est redirigé vers la page d'autorisation. Sur la page d'autorisation, l'utilisateur doit voir un formulaire d'autorisation. Faisons-le.

Autorisation utilisateur Votre login : Votre mot de passe :

registre.

Maintenant, notre forme doit recevoir une forme. En même temps, nous définirons des règles pour d'autres éléments. Dans l'avenir, je donnerai le contenu de la feuille de style dans son intégralité.

/* style.css file */ .row ( margin-bottom:10px; width:220px; ) .row label ( display:block; font-weight:bold; ) .row input.text ( font-size:1.2em; padding:2px 5px; ) .to_reg ( font-size:0.9em; ) .instruction ( font-size:0.8em; color:#aaaaaa; margin-left:2px; curseur:default; ) .error ( color:red; marge-gauche:3px; )

Si tout est fait correctement, vous devriez avoir ceci dans votre navigateur :

Bien sûr, nous n'avons pas encore un seul utilisateur enregistré, et pour vous connecter, vous devez vous inscrire. Faisons un formulaire d'inscription.

Enregistrement d'utilisateur Veuillez entrer votre nom d'utilisateur : Enregistrement d'utilisateur Veuillez entrer votre nom d'utilisateur :

Avoir des questions?

Signaler une faute de frappe

Texte à envoyer à nos rédacteurs :