Développement natif PHP de la fonction de connexion backend pour le site d'actualités
Nos cours précédents vous ont présenté toutes les préparations avant de créer la fonction de connexion, d'importer des modèles et de créer des bases de données. Les cours précédents n'ont pas complété ces préparations, la prochaine étape consiste donc pour nous à commencer à créer la fonction de connexion !
Nous devons d'abord créer un fichier login.php. Ce fichier peut être utilisé pour rédiger le jugement et la vérification de la page de connexion. Vous pouvez également écrire ensemble la partie html de la connexion et le fichier php du jugement de vérification de connexion. parce que nous savons tous ce qu’il y a dans le fichier php. Vous pouvez écrire du code HTML ! Mais nous recommandons quand même de les écrire séparément !
Après avoir créé le fichier login.php, la première chose à faire est de se connecter à la base de données, car les vérifications ultérieures doivent être comparées aux données !
Je tiens à préciser ici que si votre page de connexion a un code de vérification, alors session_start() doit être activé au début de chaque page ; sinon, le code de vérification ne peut pas être vérifié ici, donc. J'ai activé session_start ();
Le code est le suivant?:
<?php session_start(); // 連接mysql數據庫 $link = mysqli_connect('localhost', 'root', 'root'); if (!$link) { echo "connect mysql error!"; exit(); } // 選中數據庫 news為數據庫的名字 $db_selected = mysqli_select_db($link, 'news'); if (!$db_selected) { echo "<br>selected db error!"; exit(); } // 設置mysql字符集 為 utf8 $link->query("set names utf8");
L'étape suivante consiste à récupérer les données transmises par le formulaire, car nous devons obtenir le nom d'utilisateur et le mot de passe saisis par l'utilisateur dans le formulaire, puis comparez-le avec la base de données. Voyez s'ils sont exactement les mêmes?!
<?php $username = $_POST['username'];//獲取用戶名 $password = $_POST['password'];//獲取密碼 $code = $_POST['code'];
Quant à savoir s'il faut transmettre des données par courrier ou par get, cela dépend de l'attribut de méthode dans votre formulaire. Nous avons un article ici !
Les données ont été obtenues, elles doivent ensuite être vérifiées pour voir si les données saisies par l'utilisateur sont complètement cohérentes avec les données de la base de données. Ce n'est qu'ainsi que l'on peut juger si l'utilisateur peut se connecter et utiliser. Instructions SQL à interroger. Le code est le suivant?:
<?php if(!empty($_POST)){ // 查詢數據庫中是否存在用戶信息 $sql = "select * from user where username = '{$username}' and password = '{$password}'"; $result = mysqli_query($link,$sql); $user = mysqli_fetch_array($result,MYSQL_ASSOC);}
Requête Après avoir obtenu les données, comparez les deux ensembles de données?:
if($user){ header("Location: index.php"); }else{ echo "<script>alert('賬戶或者密碼錯誤!重新填寫')</script>"; }
Jusqu'à présent, nous avons vérifié le nom d'utilisateur et le mot de passe, nous avons donc le code de vérification, donc nous devons également vérifier le code de vérification. Ici, j'ai utilisé une catégorie de code de vérification
est également partagé avec tout le monde ici !
Ensuite, nous devons vérifier le code de vérification. Le code est le suivant?:
if(($_SESSION['authcode']) !== ($code)){ //驗證碼作對比,驗證碼頁面跟輸入的驗證碼對比 echo "<script>alert('驗證碼錯誤!重新填寫')</script>";
Explication?: $_SESSION['authcode'] voici le code de vérification enregistré dans la classe de code de vérification du code. économie, les résultats sont unanimes et adoptés !
OK?! Notre fonction de connexion est maintenant terminée?!