代码:前端与数据库交互的登陆界面

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>登录</title>

</head>

<body>

<p>账号:<input type="text" id="user"></p>

<p>密码:<input type="text" id="pass"></p>

<button id="login">登录</button>

<button id="add">注册</button>

<script src="ajax.js"></script>

<!--

接口文档

method: get

url: './data/user.php'

参数:

type = login 登录

add 注册

user = 用户名

pass = 用户密码

返回:

{err:0,msg:'登录成功'}

-->

<script>

var login = document.querySelector('#login');

var add = document.querySelector('#add');

var user = document.querySelector('#user');

var pass = document.querySelector('#pass');

login.onclick = function (){

ajax({

type: 'get',

url: './data/user.php',

data: {

type: 'login',

user: user.value,

pass: pass.value

},

success: function (data){

var json = JSON.parse(data);

if (json.err == 0){

alert(json.msg);

}

}

});

}

add.onclick = function (){

ajax({

type: 'get',

url: './data/user.php',

data: {

type: 'add',

user: user.value,

pass: pass.value

},

success: function (data){

var json = JSON.parse(data);

if (json.err == 0){

alert(json.msg);

}

}

});

}

</script>

<?php

/*

接口文档

method: get

url: './data/user.php'

参数:

type = login 登录

add 注册

user = 用户名

pass = 用户密码

返回:

{err:0,msg:'登录成功'}

*/

header('Content-Type:text/html;charset=utf-8');

type = _GET['type'];

user = _GET['user'];

pass = _GET['pass'];

if (type \&\& user && $pass) {

//连接数据库

$link = mysqli_connect('localhost','root','xiaoming','userlist');

if(!$link){

die('连接失败:'.mysqli_connect_error());

}

//设置编码

mysqli_set_charset($link,'utf8');

//判断要登录还是要注册

// 执行sql语句

if ($type === 'login'){

login_sql = "select \* from user where username='user' and password='$pass'";

login_res = mysqli_query(link,$login_sql);

login_arr = mysqli_fetch_all(login_res);

if (count($login_arr) > 0){

echo '{"err":0,"msg":"登录成功"}';

} else {

echo '{"err":-3,"msg":"账号或密码错误"}';

}

} else if($type === 'add') {

select_sql = "select \* from user where username='user'";

select_res = mysqli_query(link,$select_sql);

// print_r($select_res );

// die();

select_arr = mysqli_fetch_all(select_res);

if(count($select_arr) > 0){

die('{"err":-1,"msg":"用户名已被占用"}');

} else {

insert_sql = "insert into user (username,password) values ('user','$pass')";

insert_res = mysqli_query(link,$insert_sql);

if ($insert_res){

echo '{"err":0,"msg":"注册成功"}';

} else {

echo '{"err":-2,"msg":"注册失败"}';

}

}

} else {

die('{"err":-9,"msg":"参数错误"}');

}

mysqli_close($link);

} else {

echo '{"err":-9,"msg":"参数错误"}';

}

?>

相关推荐
sin_hielo6 分钟前
leetcode 3510
数据结构·算法·leetcode
WZgold14112 分钟前
黄金 T+D 与伦敦金走势分化:成因解析与投资指引
经验分享
Anastasiozzzz16 分钟前
力扣hot100 20.有效的括号 解析
java·算法·面试·力扣
CrazyClaz21 分钟前
负载均衡算法
算法·负载均衡
2401_8322981027 分钟前
腾讯云TSearch存算分离,破解日志分析算力瓶颈
大数据·运维·数据库
嵌入式小能手30 分钟前
飞凌嵌入式ElfBoard-系统信息与资源之休眠
c语言·开发语言·算法
无忧智库35 分钟前
数据安全管理平台解决方案深度解析:从合规到实战,构建企业数据安全新防线(万字长文)
大数据
戴西软件40 分钟前
戴西软件发布3DViz设计与仿真数据轻量化平台
大数据·人工智能·安全·机器学习·汽车
Hello.Reader41 分钟前
Flink × Hive HiveCatalog 一键接入元数据,Flink 直接读写 Hive 表
大数据·hive·flink
GEO科技1 小时前
氧气科技入选IAB《中国品牌出海生态全景图》:以GEO+GEM双引擎,重构AI搜索时代的全球化品牌护城河
经验分享