Función simple de registro e inicio de sesión a través de la interacción de front-end y back-end

Mapa de ruta de carpeta

  • código (carpeta total)
    • public (carpeta HTML)
      • cart.html (la página a la que se redirige después de iniciar sesión correctamente)
      • login.html (página de inicio de sesión)
      • register.html (página de composición)
    • login.php (realizar la función de inicio de sesión)
    • register.php (realizar la función de registro)
    • connect.php (encapsula la información que debe usarse repetidamente)

Archivo HTML

  • código de archivo 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>
  • código de archivo 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>
  • register.html código de archivo
<!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>

Archivo PHP

  • código de archivo 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);
?>
  • código de archivo 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);
?>
  • código de archivo 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);
?>

Supongo que te gusta

Origin blog.csdn.net/qq_45677671/article/details/113996210
Recomendado
Clasificación