Enregistrement simple et fonction de connexion via une interaction front-end et back-end

Carte de chemin de dossier

  • code (dossier total)
    • public (dossier HTML)
      • cart.html (la page redirigée après une connexion réussie)
      • login.html (page de connexion)
      • register.html (page de composition)
    • login.php (Réaliser la fonction de connexion)
    • register.php (Réaliser la fonction d'enregistrement)
    • connect.php (encapsule les informations qui doivent être utilisées à plusieurs reprises)

Fichier HTML

  • code de fichier cart.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>购物车</h1>
</body>
</html>
  • code de fichier login.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>登录页面</h1>
    <form action="../login.php" method="get">
        <p>
            <label for="un">用户名:</label><input type="text" id="un" name="username">
        </p>  
        <p>
            <label for="pw">密码:</label><input type="text" id="pw" name="password">
        </p>      
        <p>
            <button>登录</button>
        </p>
    </form>
</body>
</html>
  • code de fichier register.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>注册页面</h1>
    <form action="../register.php" method="post">
        <p>
            <label for="un">用户名:</label><input type="text" id="un" name="username">
        </p>  
        <p>
            <label for="pw">密码:</label><input type="text" id="pw" name="password">
        </p>      
        <p>
            <button>注册</button>
        </p>
    </form>
</body>
</html>

Fichier PHP

  • code de fichier connect.php
<?php
// 定义几次数据库信息
$host = '127.0.0.1'; 	//本机IP地址
$username = 'root'; 	//数据库用户名
$password = 'root';		//数据库密码
$db = 'student';		//需要操作的库名
//处理中文乱码
header('content-type:text/html; charset=utf-8;');
//建立数据库链接
$conn = mysqli_connect($host,$username,$password,$db);
?>
  • code de fichier login.php
<?php
$name = $_GET['username'];	//获取get方式传递的用户名
$pass = $_GET['password'];	//获取get方式传递的密码

//调用connect.php文件,解决中文乱码和链接数据库
include "./connect.php";

// 执行查询的sql语句,验证用户名和密码
$sql = "SELECT * FROM `userinfo` WHERE `username`='$name' AND `password`='$pass' ";
$res = mysqli_query($conn,$sql);

//解析查询结果,解析单行数据
$row = mysqli_fetch_assoc($res);	//没有查询结果里面没有符合条件的数据,单行解析结果是null

if($row){
    
    
	// 能查询到,跳转到购物车页面
	header('location:./public/cart.html');
}else{
    
    
	// 没有查询到,跳转会登录页面
	header('location:./public/login.html');
}

// 断开链接
mysqli_close($conn);
?>
  • code de fichier register.php
<?php
    //获取前端POST方式传递的用户信息
    $un = $_POST['username'];//用户名
    $pw = $_POST['password'];//密码

    //解决中文乱码和链接数据库
    include "./connect.php";

    //执行插入的sql语句
    $sql = "INSERT INTO `userinfo` VALUES (null,'$un','$pw')";
    $res = mysqli_query($conn,$sql);

    //插入结果是布尔值,不需要解析
    var_dump($res);	//验证$res的值
    if($res){
    
    
        // 如果$res是true,说明插入成功,跳转登录页面
        header('location:./public/login.html');
    }else{
    
    
        // 如果$res是false,说明插入失败,跳转回注册页面
        header('location:./public/register.html');
    }

    //断开链接
    mysqli_close($conn);
?>

Je suppose que tu aimes

Origine blog.csdn.net/qq_45677671/article/details/113996210
conseillé
Classement